diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 00000000..427441dc --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,17 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR +not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..59d9a3a3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..42da9d3f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,34 @@ +_cli-tpl/ +dist/ +coverage/ + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Dependency directories +node_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +.cache/ + +# yarn v2 +.yarn diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..78aaeb78 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,126 @@ +const prettierConfig = require('./.prettierrc.js'); + +module.exports = { + root: true, + parserOptions: { ecmaVersion: 2021 }, + overrides: [ + { + files: ['*.ts'], + parser: '@typescript-eslint/parser', + parserOptions: { + tsconfigRootDir: __dirname, + project: ['tsconfig.json'], + createDefaultProgram: true + }, + plugins: ['@typescript-eslint', 'jsdoc', 'import'], + extends: [ + 'plugin:@angular-eslint/recommended', + 'plugin:@angular-eslint/template/process-inline-templates', + 'plugin:prettier/recommended' + ], + rules: { + 'prettier/prettier': ['error', prettierConfig], + 'jsdoc/newline-after-description': 1, + '@angular-eslint/component-class-suffix': [ + 'error', + { + suffixes: ['Directive', 'Component', 'Base', 'Widget'] + } + ], + '@angular-eslint/directive-class-suffix': [ + 'error', + { + suffixes: ['Directive', 'Component', 'Base', 'Widget'] + } + ], + '@angular-eslint/component-selector': [ + 'off', + { + type: ['element', 'attribute'], + prefix: ['app', 'test'], + style: 'kebab-case' + } + ], + '@angular-eslint/directive-selector': [ + 'off', + { + type: 'attribute', + prefix: ['app'] + } + ], + '@angular-eslint/no-attribute-decorator': 'error', + '@angular-eslint/no-conflicting-lifecycle': 'off', + '@angular-eslint/no-forward-ref': 'off', + '@angular-eslint/no-host-metadata-property': 'off', + '@angular-eslint/no-lifecycle-call': 'off', + '@angular-eslint/no-pipe-impure': 'error', + '@angular-eslint/prefer-output-readonly': 'error', + '@angular-eslint/use-component-selector': 'off', + '@angular-eslint/use-component-view-encapsulation': 'off', + '@angular-eslint/no-input-rename': 'off', + '@angular-eslint/no-output-native': 'off', + '@typescript-eslint/array-type': [ + 'error', + { + default: 'array-simple' + } + ], + '@typescript-eslint/ban-types': [ + 'off', + { + types: { + String: { + message: 'Use string instead.' + }, + Number: { + message: 'Use number instead.' + }, + Boolean: { + message: 'Use boolean instead.' + }, + Function: { + message: 'Use specific callable interface instead.' + } + } + } + ], + 'import/no-duplicates': 'error', + 'import/no-unused-modules': 'error', + 'import/no-unassigned-import': 'error', + 'import/order': [ + 'error', + { + alphabetize: { order: 'asc', caseInsensitive: false }, + 'newlines-between': 'always', + groups: ['external', 'internal', ['parent', 'sibling', 'index']], + pathGroups: [], + pathGroupsExcludedImportTypes: [] + } + ], + '@typescript-eslint/no-this-alias': 'error', + '@typescript-eslint/member-ordering': 'off', + 'no-irregular-whitespace': 'error', + 'no-multiple-empty-lines': 'error', + 'no-sparse-arrays': 'error', + 'prefer-object-spread': 'error', + 'prefer-template': 'error', + 'prefer-const': 'off', + 'max-len': 'off' + } + }, + { + files: ['*.html'], + extends: ['plugin:@angular-eslint/template/recommended'], + rules: {} + }, + { + files: ['*.html'], + excludedFiles: ['*inline-template-*.component.html'], + extends: ['plugin:prettier/recommended'], + rules: { + 'prettier/prettier': ['error', { parser: 'angular' }], + '@angular-eslint/template/eqeqeq': 'off' + } + } + ] +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7b70918a --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +# /src/assets/color.less +delon-builds +scripts/var.less +# src/assets/style.dark.css +# src/assets/style.compact.css + +# dependencies +/node_modules +/yarn.lock + +# 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 +testem.log +/typings +yarn-error.log +/_all.less + +# e2e +/e2e/*.map + +# System Files +.DS_Store +Thumbs.db diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..3e1f42ec --- /dev/null +++ b/.npmignore @@ -0,0 +1,5 @@ +.github +node_modules + +dist +tmp diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..5c088ddb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +12.14.1 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..d250447c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,18 @@ +# add files you wish to ignore here +**/*.md +**/*.svg +**/test.ts + +.stylelintrc +.prettierrc + +src/assets/* +src/index.html +node_modules/ +.vscode/ +coverage/ +dist/ +package.json +tslint.json + +_cli-tpl/**/* diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 00000000..26ba9009 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,13 @@ +module.exports = { + singleQuote: true, + useTabs: false, + printWidth: 140, + tabWidth: 2, + semi: true, + htmlWhitespaceSensitivity: 'strict', + arrowParens: 'avoid', + bracketSpacing: true, + proseWrap: 'preserve', + trailingComma: 'none', + endOfLine: 'lf' +}; diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 00000000..86e9c6a3 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,28 @@ +{ + "extends": [ + "stylelint-config-standard", + "stylelint-config-rational-order", + "stylelint-config-prettier" + ], + "plugins": [ + "stylelint-order", + "stylelint-declaration-block-no-ignored-properties" + ], + "rules": { + "no-descending-specificity": null, + "plugin/declaration-block-no-ignored-properties": true, + "selector-type-no-unknown": null, + "selector-pseudo-element-no-unknown": [ + true, + { + "ignorePseudoElements": [ + "ng-deep" + ] + } + ], + "at-rule-no-unknown": null + }, + "ignoreFiles": [ + "src/assets/**/*" + ] +} diff --git a/_cli-tpl/README.md b/_cli-tpl/README.md new file mode 100644 index 00000000..409ebc52 --- /dev/null +++ b/_cli-tpl/README.md @@ -0,0 +1 @@ +[Document](https://ng-alain.com/cli/generate#Custom-template-page) diff --git a/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html new file mode 100644 index 00000000..8a7009bc --- /dev/null +++ b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html @@ -0,0 +1,5 @@ + + + + + diff --git a/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts new file mode 100644 index 00000000..5b408fb6 --- /dev/null +++ b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts @@ -0,0 +1,24 @@ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { <%= componentName %> } from './<%= dasherize(name) %>.component'; + +describe('<%= componentName %>', () => { + let component: <%= componentName %>; + let fixture: ComponentFixture<<%= componentName %>>; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ <%= componentName %> ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(<%= componentName %>); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts new file mode 100644 index 00000000..b9cf8f2b --- /dev/null +++ b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: '<%= selector %>', + templateUrl: './<%= dasherize(name) %>.component.html',<% if(!inlineStyle) { %><% } else { %> + styleUrls: ['./<%= dasherize(name) %>.component.<%= styleext %>']<% } %><% if(!!viewEncapsulation) { %>, + encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, + changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> +}) +export class <%= componentName %> implements OnInit { + + constructor(private http: _HttpClient, private msg: NzMessageService) { } + + ngOnInit() { } + +} diff --git a/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html new file mode 100644 index 00000000..aef86ebd --- /dev/null +++ b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html @@ -0,0 +1,3 @@ + + + diff --git a/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts new file mode 100644 index 00000000..c7a520ca --- /dev/null +++ b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { <%= componentName %> } from './<%= dasherize(name) %>.component'; + +describe('<%= componentName %>', () => { + let component: <%= componentName %>; + let fixture: ComponentFixture<<%= componentName %>>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ <%= componentName %> ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(<%= componentName %>); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts new file mode 100644 index 00000000..b9cf8f2b --- /dev/null +++ b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: '<%= selector %>', + templateUrl: './<%= dasherize(name) %>.component.html',<% if(!inlineStyle) { %><% } else { %> + styleUrls: ['./<%= dasherize(name) %>.component.<%= styleext %>']<% } %><% if(!!viewEncapsulation) { %>, + encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, + changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> +}) +export class <%= componentName %> implements OnInit { + + constructor(private http: _HttpClient, private msg: NzMessageService) { } + + ngOnInit() { } + +} diff --git a/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template new file mode 100644 index 00000000..3f210156 --- /dev/null +++ b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template @@ -0,0 +1 @@ + diff --git a/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template new file mode 100644 index 00000000..c7a520ca --- /dev/null +++ b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { <%= componentName %> } from './<%= dasherize(name) %>.component'; + +describe('<%= componentName %>', () => { + let component: <%= componentName %>; + let fixture: ComponentFixture<<%= componentName %>>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ <%= componentName %> ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(<%= componentName %>); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template new file mode 100644 index 00000000..b9cf8f2b --- /dev/null +++ b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template @@ -0,0 +1,18 @@ +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: '<%= selector %>', + templateUrl: './<%= dasherize(name) %>.component.html',<% if(!inlineStyle) { %><% } else { %> + styleUrls: ['./<%= dasherize(name) %>.component.<%= styleext %>']<% } %><% if(!!viewEncapsulation) { %>, + encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, + changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> +}) +export class <%= componentName %> implements OnInit { + + constructor(private http: _HttpClient, private msg: NzMessageService) { } + + ngOnInit() { } + +} diff --git a/_mock/README.md b/_mock/README.md new file mode 100644 index 00000000..d30e74ab --- /dev/null +++ b/_mock/README.md @@ -0,0 +1 @@ +[Document](https://ng-alain.com/mock) diff --git a/_mock/_api.ts b/_mock/_api.ts new file mode 100644 index 00000000..7448a9f1 --- /dev/null +++ b/_mock/_api.ts @@ -0,0 +1,265 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; + +// region: mock data + +const titles = ['Alipay', 'Angular', 'Ant Design', 'Ant Design Pro', 'Bootstrap', 'React', 'Vue', 'Webpack']; + +const avatars = [ + 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', // Alipay + 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', // Angular + 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', // Ant Design + 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', // Ant Design Pro + 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', // Bootstrap + 'https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png', // React + 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', // Vue + 'https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png', // Webpack +]; +const covers = [ + 'https://gw.alipayobjects.com/zos/rmsportal/HrxcVbrKnCJOZvtzSqjN.png', + 'https://gw.alipayobjects.com/zos/rmsportal/alaPpKWajEbIYEUvvVNf.png', + 'https://gw.alipayobjects.com/zos/rmsportal/RLwlKSYGSXGHuWSojyvp.png', + 'https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png', +]; +const desc = [ + '那是一种内在的东西, 他们到达不了,也无法触及的', + '希望是一个好东西,也许是最好的,好东西是不会消亡的', + '生命就像一盒巧克力,结果往往出人意料', + '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + '那时候我只会想自己想要什么,从不想自己拥有什么', +]; + +const user = ['卡色', 'cipchk', '付小小', '曲丽丽', '林东东', '周星星', '吴加好', '朱偏右', '鱼酱', '乐哥', '谭小仪', '仲尼']; + +// endregion + +function getFakeList(count: number = 20): any[] { + const list: any[] = []; + for (let i = 0; i < count; i += 1) { + list.push({ + id: `fake-list-${i}`, + owner: user[i % 10], + title: titles[i % 8], + avatar: avatars[i % 8], + cover: parseInt((i / 4).toString(), 10) % 2 === 0 ? covers[i % 4] : covers[3 - (i % 4)], + status: ['active', 'exception', 'normal'][i % 3], + percent: Math.ceil(Math.random() * 50) + 50, + logo: avatars[i % 8], + href: 'https://ant.design', + updatedAt: new Date(new Date().getTime() - 1000 * 60 * 60 * 2 * i), + createdAt: new Date(new Date().getTime() - 1000 * 60 * 60 * 2 * i), + subDescription: desc[i % 5], + description: + '在中台产品的研发过程中,会出现不同的设计规范和实现方式,但其中往往存在很多类似的页面和组件,这些类似的组件会被抽离成一套标准规范。', + activeUser: Math.ceil(Math.random() * 100000) + 100000, + newUser: Math.ceil(Math.random() * 1000) + 1000, + star: Math.ceil(Math.random() * 100) + 100, + like: Math.ceil(Math.random() * 100) + 100, + message: Math.ceil(Math.random() * 10) + 10, + content: + '段落示意:蚂蚁金服设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。蚂蚁金服设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。', + members: [ + { + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png', + name: '曲丽丽', + }, + { + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png', + name: '王昭君', + }, + { + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png', + name: '董娜娜', + }, + ], + }); + } + + return list; +} + +function getNotice(): any[] { + return [ + { + id: 'xxx1', + title: titles[0], + logo: avatars[0], + description: '那是一种内在的东西, 他们到达不了,也无法触及的', + updatedAt: new Date(), + member: '科学搬砖组', + href: '', + memberLink: '', + }, + { + id: 'xxx2', + title: titles[1], + logo: avatars[1], + description: '希望是一个好东西,也许是最好的,好东西是不会消亡的', + updatedAt: new Date('2017-07-24'), + member: '全组都是吴彦祖', + href: '', + memberLink: '', + }, + { + id: 'xxx3', + title: titles[2], + logo: avatars[2], + description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + updatedAt: new Date(), + member: '中二少女团', + href: '', + memberLink: '', + }, + { + id: 'xxx4', + title: titles[3], + logo: avatars[3], + description: '那时候我只会想自己想要什么,从不想自己拥有什么', + updatedAt: new Date('2017-07-23'), + member: '程序员日常', + href: '', + memberLink: '', + }, + { + id: 'xxx5', + title: titles[4], + logo: avatars[4], + description: '凛冬将至', + updatedAt: new Date('2017-07-23'), + member: '高逼格设计天团', + href: '', + memberLink: '', + }, + { + id: 'xxx6', + title: titles[5], + logo: avatars[5], + description: '生命就像一盒巧克力,结果往往出人意料', + updatedAt: new Date('2017-07-23'), + member: '骗你来学计算机', + href: '', + memberLink: '', + }, + ]; +} + +function getActivities(): any[] { + return [ + { + id: 'trend-1', + updatedAt: new Date(), + user: { + name: '林东东', + avatar: avatars[0], + }, + group: { + name: '高逼格设计天团', + link: 'http://github.com/', + }, + project: { + name: '六月迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + { + id: 'trend-2', + updatedAt: new Date(), + user: { + name: '付小小', + avatar: avatars[1], + }, + group: { + name: '高逼格设计天团', + link: 'http://github.com/', + }, + project: { + name: '六月迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + { + id: 'trend-3', + updatedAt: new Date(), + user: { + name: '曲丽丽', + avatar: avatars[2], + }, + group: { + name: '中二少女团', + link: 'http://github.com/', + }, + project: { + name: '六月迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + { + id: 'trend-4', + updatedAt: new Date(), + user: { + name: '周星星', + avatar: avatars[3], + }, + project: { + name: '5 月日常迭代', + link: 'http://github.com/', + }, + template: '将 @{project} 更新至已发布状态', + }, + { + id: 'trend-5', + updatedAt: new Date(), + user: { + name: '朱偏右', + avatar: avatars[4], + }, + project: { + name: '工程效能', + link: 'http://github.com/', + }, + comment: { + name: '留言', + link: 'http://github.com/', + }, + template: '在 @{project} 发布了 @{comment}', + }, + { + id: 'trend-6', + updatedAt: new Date(), + user: { + name: '乐哥', + avatar: avatars[5], + }, + group: { + name: '程序员日常', + link: 'http://github.com/', + }, + project: { + name: '品牌迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + ]; +} + +export const APIS = { + '/api/list': (req: MockRequest) => getFakeList(req.queryString.count), + '/api/notice': () => getNotice(), + '/api/activities': () => getActivities(), + 'POST /api/auth/refresh': { msg: 'ok', token: 'new-token-by-refresh' }, + '/api/401': () => { + throw new MockStatusError(401); + }, + '/api/403': () => { + throw new MockStatusError(403); + }, + '/api/404': () => { + throw new MockStatusError(404); + }, + '/api/500': () => { + throw new MockStatusError(500); + }, +}; diff --git a/_mock/_chart.ts b/_mock/_chart.ts new file mode 100644 index 00000000..dfb3602a --- /dev/null +++ b/_mock/_chart.ts @@ -0,0 +1,205 @@ +import { format } from 'date-fns'; +import * as Mock from 'mockjs'; + +// region: mock data + +const visitData: any[] = []; +const beginDay = new Date().getTime(); + +const fakeY = [7, 5, 4, 2, 4, 7, 5, 6, 5, 9, 6, 3, 1, 5, 3, 6, 5]; +for (let i = 0; i < fakeY.length; i += 1) { + visitData.push({ + x: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'), + y: fakeY[i], + }); +} + +const visitData2: any[] = []; +const fakeY2 = [1, 6, 4, 8, 3, 7, 2]; +for (let i = 0; i < fakeY2.length; i += 1) { + visitData2.push({ + x: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'), + y: fakeY2[i], + }); +} + +const salesData: any[] = []; +for (let i = 0; i < 12; i += 1) { + salesData.push({ + x: `${i + 1}月`, + y: Math.floor(Math.random() * 1000) + 200, + }); +} +const searchData: any[] = []; +for (let i = 0; i < 50; i += 1) { + searchData.push({ + index: i + 1, + keyword: `搜索关键词-${i}`, + count: Math.floor(Math.random() * 1000), + range: Math.floor(Math.random() * 100), + status: Math.floor((Math.random() * 10) % 2), + }); +} +const salesTypeData = [ + { + x: '家用电器', + y: 4544, + }, + { + x: '食用酒水', + y: 3321, + }, + { + x: '个护健康', + y: 3113, + }, + { + x: '服饰箱包', + y: 2341, + }, + { + x: '母婴产品', + y: 1231, + }, + { + x: '其他', + y: 1231, + }, +]; + +const salesTypeDataOnline = [ + { + x: '家用电器', + y: 244, + }, + { + x: '食用酒水', + y: 321, + }, + { + x: '个护健康', + y: 311, + }, + { + x: '服饰箱包', + y: 41, + }, + { + x: '母婴产品', + y: 121, + }, + { + x: '其他', + y: 111, + }, +]; + +const salesTypeDataOffline = [ + { + x: '家用电器', + y: 99, + }, + { + x: '个护健康', + y: 188, + }, + { + x: '服饰箱包', + y: 344, + }, + { + x: '母婴产品', + y: 255, + }, + { + x: '其他', + y: 65, + }, +]; + +const offlineData: any[] = []; +for (let i = 0; i < 10; i += 1) { + offlineData.push({ + name: `门店${i}`, + cvr: Math.ceil(Math.random() * 9) / 10, + }); +} +const offlineChartData: any[] = []; +for (let i = 0; i < 20; i += 1) { + offlineChartData.push({ + time: new Date().getTime() + 1000 * 60 * 30 * i, + y1: Math.floor(Math.random() * 100) + 10, + y2: Math.floor(Math.random() * 100) + 10, + }); +} + +const radarOriginData = [ + { + name: '个人', + ref: 10, + koubei: 8, + output: 4, + contribute: 5, + hot: 7, + }, + { + name: '团队', + ref: 3, + koubei: 9, + output: 6, + contribute: 3, + hot: 1, + }, + { + name: '部门', + ref: 4, + koubei: 1, + output: 6, + contribute: 5, + hot: 7, + }, +]; + +// +const radarData: any[] = []; +const radarTitleMap: any = { + ref: '引用', + koubei: '口碑', + output: '产量', + contribute: '贡献', + hot: '热度', +}; +radarOriginData.forEach((item: any) => { + Object.keys(item).forEach((key) => { + if (key !== 'name') { + radarData.push({ + name: item.name, + label: radarTitleMap[key], + value: item[key], + }); + } + }); +}); + +// endregion + +export const CHARTS = { + '/chart': JSON.parse( + JSON.stringify({ + visitData, + visitData2, + salesData, + searchData, + offlineData, + offlineChartData, + salesTypeData, + salesTypeDataOnline, + salesTypeDataOffline, + radarData, + }), + ), + '/chart/visit': JSON.parse(JSON.stringify(visitData)), + '/chart/tags': Mock.mock({ + 'list|100': [{ name: '@city', 'value|1-100': 150 }], + }), +}; diff --git a/_mock/_file-manager.ts b/_mock/_file-manager.ts new file mode 100644 index 00000000..a2a835d7 --- /dev/null +++ b/_mock/_file-manager.ts @@ -0,0 +1,126 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; + +import { genMp } from './utils'; + +interface FileItem { + id?: number; + parent_id?: number; + type?: 'folder' | 'file'; + title?: string; + mp?: string; + ext?: string; + size?: number; + width?: number; + height?: number; + created?: Date; +} + +let point = 1; +let DATA: FileItem[] = []; +DATA = DATA.concat(...genFolds(0, 3), ...genFiles(1, 6), ...genFiles(2, 3), ...genFiles(0, 1, 'zip'), ...genFiles(0, 10)); + +function genFolds(parent_id: number, count: number): FileItem[] { + return new Array(count).fill({}).map(() => { + return { + id: point++, + parent_id, + type: 'folder', + ext: 'folder', + title: Random.ctitle(3, 5), + created: new Date() + } as FileItem; + }); +} + +function genFiles(parent_id: number, count: number, ext: string = 'png'): FileItem[] { + return new Array(count).fill({}).map(() => { + return { + id: point++, + parent_id, + type: 'file', + title: `${Random.ctitle(3, 5)}.${ext}`, + mp: genMp(), + is_img: ext === 'png', + ext, + size: Random.natural(10, 10000), + width: Random.natural(100, 1000), + height: Random.natural(100, 1000), + created: new Date() + } as FileItem; + }); +} + +function get(params: any): any { + let ret = deepCopy(DATA) as FileItem[]; + const parent_id = +(params.parent_id || '0'); + ret = ret.filter(data => data.parent_id === parent_id); + if (params.type) { + ret = ret.filter(data => data.type!.indexOf(params.type) > -1); + } + if (params.q) { + ret = ret.filter(data => data.title!.indexOf(params.q) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex(w => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const FILES = { + '/file/folder': () => deepCopy(DATA).filter((w: any) => w.type === 'folder'), + '/file': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps) + }; + }, + 'POST /file': (req: MockRequest) => { + const file = req.body.get('file') as File; + const parent_id = +req.body.get('parent_id'); + const item = Object.assign(genFiles(req.body.parent_id, 1)[0], { + parent_id, + title: file.name, + size: file.size + }); + DATA.push(item); + return { msg: 'ok', item }; + }, + '/file/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], ...req.body }; + return item; + }, + 'POST /file/rename': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].title = req.body.title; + return { msg: 'ok', item: DATA[idx] }; + }, + 'POST /file/move': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].parent_id = req.body.moveId; + return { msg: 'ok', item: DATA[idx] }; + }, + 'POST /file/copy/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], id: point++ }; + item.title += ' - Copy'; + DATA.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /file/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + } +}; diff --git a/_mock/_forum.ts b/_mock/_forum.ts new file mode 100644 index 00000000..a44198f8 --- /dev/null +++ b/_mock/_forum.ts @@ -0,0 +1,258 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; +import { genLabel, genMp } from './utils'; + +let id = 1; +const CATEGORY = [ + { + id: 1, + title: 'General', + list: [ + { + id: 1, + title: 'Getting started', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 2, + title: 'Announcements', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 3, + title: 'Guides', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + ], + }, + { + id: 2, + title: 'Shopping', + list: [ + { + id: 4, + title: 'Guides', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 5, + title: 'Payments', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 6, + title: 'Products', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 7, + title: 'Refund', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + ], + }, + { + id: 3, + title: 'Support', + list: [ + { + id: 8, + title: 'Common questions', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + }, + { + id: 9, + title: 'Site issues', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + ], + }, +]; + +const THREAD: any[] = new Array(20).fill({}).map((v, idx) => ({ + id: id++, + title: Random.title(5, 10), + replies: Random.natural(1, 1000), + label: idx % 2 === 0 && Random.boolean() ? genLabel() : null, + category_id: Random.natural(1, 9), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, +})); + +const REPLIES: any[] = new Array(20).fill({}).map((v, idx) => ({ + id: id++, + content: Random.paragraph(), + user: { + name: Random.name(), + mp: genMp(), + posts: Random.natural(0, 1000), + }, + time: Random.time(), + like: Random.natural(0, 100), + dislike: Random.natural(0, 10), +})); + +function get(params: any): any { + let ret = deepCopy(THREAD); + if (params.q) { + ret = ret.filter((data: any) => data.name.indexOf(params.q) > -1); + } + return ret; +} + +function getIdx(itemId: number): number { + itemId = +itemId; + const idx = THREAD.findIndex((w) => w.id === itemId); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +function getCate(itemId: number): any { + let item: any; + const category: any = deepCopy(CATEGORY).find((w: any) => { + item = w.list.find((l: any) => l.id === itemId); + if (item) { + return true; + } + return false; + }); + delete category.list; + return item; +} + +export const FORUMS = { + '/forum/category': CATEGORY, + '/forum/thread/:id': (req: MockRequest) => { + // list + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + category: getCate(+req.params.id), + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + '/forum/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { + ...THREAD[idx], + time: '3 days ago', + like: Random.natural(0, 100), + view: Random.natural(0, 10000), + user: { + name: Random.name(), + mp: genMp(), + posts: Random.natural(0, 1000), + }, + desc: + '

' + + new Array(Random.natural(1, 3)) + .fill('') + .map((v) => Random.paragraph()) + .join('

') + + '

', + }; + item.category = getCate(item.category_id); + return item; + }, + '/forum/:id/replies': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + return { + total: REPLIES.length, + list: REPLIES.slice((pi - 1) * ps, pi * ps), + }; + }, + + 'POST /forum': (req: MockRequest) => { + const itemId = req.body.id || 0; + if (itemId > 0) { + const idx = getIdx(itemId); + THREAD[idx] = { ...THREAD[idx], ...req.body }; + return { msg: 'ok', item: THREAD[idx] }; + } + + const item = { ...req.body, id: THREAD.sort((a, b) => b.id - a.id)[0].id + 1 }; + THREAD.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /forum/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + THREAD.splice(idx, 1); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_geo.ts b/_mock/_geo.ts new file mode 100644 index 00000000..f52cf882 --- /dev/null +++ b/_mock/_geo.ts @@ -0,0 +1,76 @@ +import { MockRequest } from '@delon/mock'; + +const DATA = [ + { + name: '上海', + id: '310000', + }, + { + name: '市辖区', + id: '310100', + }, + { + name: '北京', + id: '110000', + }, + { + name: '市辖区', + id: '110100', + }, + { + name: '浙江省', + id: '330000', + }, + { + name: '杭州市', + id: '330100', + }, + { + name: '宁波市', + id: '330200', + }, + { + name: '温州市', + id: '330300', + }, + { + name: '嘉兴市', + id: '330400', + }, + { + name: '湖州市', + id: '330500', + }, + { + name: '绍兴市', + id: '330600', + }, + { + name: '金华市', + id: '330700', + }, + { + name: '衢州市', + id: '330800', + }, + { + name: '舟山市', + id: '330900', + }, + { + name: '台州市', + id: '331000', + }, + { + name: '丽水市', + id: '331100', + }, +]; + +export const GEOS = { + '/geo/province': () => DATA.filter(w => w.id.endsWith('0000')), + '/geo/:id': (req: MockRequest) => { + const pid = (req.params.id || '310000').slice(0, 2); + return DATA.filter(w => w.id.slice(0, 2) === pid && !w.id.endsWith('0000')); + }, +}; diff --git a/_mock/_img.ts b/_mock/_img.ts new file mode 100644 index 00000000..2f8ff63a --- /dev/null +++ b/_mock/_img.ts @@ -0,0 +1,103 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { genMp } from './utils'; + +interface ImgCat { + id: number; + parent_id: number; + title: string; +} +interface Img { + cat_id: number; + id: number; + title: string; + mp: string; + size: number; + width: number; + height: number; + created: Date; +} + +const CAT: ImgCat[] = [ + { id: 1, parent_id: 0, title: '店铺' }, + { id: 2, parent_id: 1, title: '产品图' }, + { id: 3, parent_id: 1, title: '品牌图' }, + { id: 4, parent_id: 0, title: '营销' }, + { id: 5, parent_id: 4, title: '双11' }, + { id: 6, parent_id: 4, title: '日常' }, + { id: 7, parent_id: 0, title: '其他' }, +]; +const DATA: Img[] = []; + +for (let i = 1; i <= 50; i += 1) { + DATA.push(gen(i)); +} + +function gen(i: number): any { + return { + cat_id: [1, 2, 3, 4, 5, 6, 7][Math.floor(Math.random() * 10) % 7], + id: i * 10000, + title: `title ${i}`, + mp: genMp(), + size: Math.floor(Math.random() * 1000) % 1000, + width: Math.floor(Math.random() * 1000) % 1000, + height: Math.floor(Math.random() * 1000) % 1000, + created: new Date(), + }; +} + +function get(params: any): any { + let ret = deepCopy(DATA); + const cat_id = +(params.cat_id || '0'); + if (cat_id > 0) { + ret = ret.filter((data: any) => data.cat_id === cat_id); + } + if (params.q) { + ret = ret.filter((data: any) => data.title.indexOf(params.q) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const IMGS = { + '/img/cat': () => deepCopy(CAT), + '/img': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'POST /img': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = Object.assign(gen(DATA.sort((a, b) => b.id - a.id)[0].id + 1), req.body); + DATA.push(item); + return { msg: 'ok', item }; + }, + '/img/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], ...req.body }; + return item; + }, + 'DELETE /img/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_log.ts b/_mock/_log.ts new file mode 100644 index 00000000..b65269b3 --- /dev/null +++ b/_mock/_log.ts @@ -0,0 +1,62 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; + +const DATA: any[] = []; + +for (let i = 1; i <= 20; i += 1) { + DATA.push({ + id: i, + name: 'cms', + level: ['error', 'warning', 'info'][Math.floor(Math.random() * 10) % 3], + path: `/home/${i}`, + title: `未知报告 ${i}`, + data: `Uncaught Error: test-${i}\nat :1:7\nat :1:7\nat :1:7`, + created: new Date(), + }); +} + +function getIdx(id: number): number { + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.q) { + ret = ret.filter((data: any) => data.title.indexOf(params.q) > -1); + } + if (params.level) { + ret = ret.filter((data: any) => data.level.indexOf(params.level) > -1); + } + return ret; +} + +function del(params: any): any { + const id = params.id || 0; + if (id > 0) { + DATA.splice(getIdx(id), 1); + } else { + get(params).forEach((w: any) => { + del({ id: w.id }); + }); + } +} + +export const LOGS = { + '/log': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'DELETE /log': (req: MockRequest) => { + del(req.queryString); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_menu.ts b/_mock/_menu.ts new file mode 100644 index 00000000..a3818413 --- /dev/null +++ b/_mock/_menu.ts @@ -0,0 +1,109 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { Menu } from '@delon/theme'; +import { deepCopy } from '@delon/util'; + +const DATA: Menu[] = [ + { + id: 1, + parent_id: 0, + text: '主导航', + i18n: 'menu.main', + group: true, + hideInBreadcrumb: true, + }, + { + id: 2, + parent_id: 1, + text: '仪表盘', + i18n: 'menu.dashboard', + icon: 'dashboard', + }, + { + id: 3, + parent_id: 2, + text: '分析页', + link: '/dashboard/analysis', + i18n: 'menu.dashboard.analysis', + }, + { + id: 4, + parent_id: 2, + text: '监控页', + link: '/dashboard/monitor', + i18n: 'menu.dashboard.monitor', + }, + { + id: 5, + parent_id: 2, + text: '工作台', + link: '/dashboard/workplace', + i18n: 'menu.dashboard.workplace', + }, + { + id: 6, + parent_id: 0, + text: 'Pro', + i18n: 'menu.pro', + group: true, + hideInBreadcrumb: true, + }, + { + id: 7, + parent_id: 6, + text: 'Form Page', + i18n: 'menu.form', + link: '/pro/form', + icon: 'anticon anticon-edit', + hideInBreadcrumb: true, + }, + { + id: 8, + parent_id: 6, + text: 'Basic Form', + link: '/pro/form/basic-form', + i18n: 'menu.form.basicform', + shortcut: true, + }, + { + id: 9, + parent_id: 6, + text: 'Step Form', + link: '/pro/form/step-form', + i18n: 'menu.form.stepform', + }, +]; + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const MENUS = { + '/menus': () => deepCopy(DATA), + 'POST /menus': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /menus/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /menus/move': (req: MockRequest) => { + const idx = getIdx(req.body.from || 0); + DATA[idx].parent_id = req.body.to || 0; + return { msg: 'ok', item: DATA[idx] }; + }, +}; diff --git a/_mock/_other.ts b/_mock/_other.ts new file mode 100644 index 00000000..bb99bc87 --- /dev/null +++ b/_mock/_other.ts @@ -0,0 +1,917 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import format from 'date-fns/format'; +import getDaysInMonth from 'date-fns/getDaysInMonth'; +import startOfMonth from 'date-fns/startOfMonth'; +import { Random } from 'mockjs'; + +import { genArr, genBigMp, genColorName, genData, genLabel, genMp, genName, genTag } from './utils'; + +let ID = 1; +const DATA: any = { + kanban: null, + task: null, + email: null, + project: null, + client: null, + contact: null, + pricing: null, + billing: null, + course: null, + chat: null, + gallery: null, + article: null, + voting: null, + invoice: null, + faq: null, + calendar: null, + quick: null, + dd: null +}; + +function getIdx(type: string, id: number): number { + id = +id; + const idx = DATA[type].findIndex((w: any) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +function save(type: string, body: any): any { + const id = body.id || 0; + if (id > 0) { + const idx = getIdx(type, id); + DATA[type][idx] = { ...DATA[type][idx], ...body }; + return { msg: 'ok', item: DATA[type][idx], type: 'edit' }; + } + + const item = { ...body, id: DATA[type].sort((a: any, b: any) => b.id - a.id)[0].id + 1 }; + (DATA[type] as any[]).splice(0, 0, item); + return { msg: 'ok', item, type: 'add' }; +} + +function del(type: string, p: any): any { + const cid = +(p.cid || '0'); + let list: any[] = DATA[type]; + if (cid > 0) { + list = DATA[type].find((w: any) => w.id === cid).list; + } + + const idx = list.findIndex(w => w.id === p.id); + list.splice(idx, 1); + return { msg: 'ok' }; +} + +function genHtml(): string { + return `

${new Array(Random.natural(1, 3)) + .fill('') + .map(v => Random.sentence()) + .join('

')}

`; +} + +function attachements(): any { + return new Array(Random.natural(2, 6)).fill({}).map((v, idx) => { + const item = { + url: Random.url(), + type: genArr(['jpg', 'zip', 'pdf']), + filename: Random.name(false), + size: genArr(['100KB', '980KB', '1.56MB']) + }; + if (item.type === 'jpg') { + item.url = genBigMp(); + } + return item; + }); +} + +function genPage(type: string, queryString: any, qField: string = 'name'): any { + const pi = +(queryString.pi || 1); + const ps = +(queryString.ps || 10); + // data + let data = deepCopy(DATA[type]); + if (queryString.q) { + data = data.filter((data: any) => data[qField].indexOf(queryString.q) > -1); + } + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps) + }; +} + +// #region kanban + +function kanbanList(): any { + if (DATA.kanban) { + return DATA.kanban; + } + const res: any[] = [ + { + id: 1, + title: 'To Do', + list: [], + color: '#fadb14', + icon: 'warning' + }, + { id: 2, title: 'In progress', color: '#1890ff', icon: 'tool', list: [] }, + { id: 3, title: 'Done', color: '#52c41a', icon: 'check-circle', list: [] }, + { id: 4, title: 'Gone', color: '#f5222d', icon: 'delete', list: [] } + ]; + for (const i of res) { + i.list = new Array(Random.natural(2, 6)).fill({}).map((v, idx) => ({ + id: idx + 1, + title: Random.ctitle(3, 4), + content: Random.ctitle(0, 50), + attachement: Random.boolean() && Random.boolean() && Random.boolean() + })); + } + // new + if (res[0].list.length > 0) { + res[0].list[Random.natural(0, res[0].list.length - 1)].label = { + color: 'green', + text: 'Clients' + }; + } + if (res[1].list.length > 0) { + res[1].list[Random.natural(0, res[1].list.length - 1)].label = { + color: 'red', + text: 'Important' + }; + } + if (res[2].list.length > 0) { + res[2].list[Random.natural(0, res[2].list.length - 1)].label = { + color: 'blue', + text: 'Other' + }; + } + // labels + DATA.kanban = res; + return res; +} + +// #endregion + +// #region task + +function taskList(): any { + if (DATA.task) { + return DATA.task; + } + const res: any[] = [ + { id: 1, title: 'Today', list: [] }, + { id: 2, title: 'Tomorrow', list: [] }, + { id: 3, title: 'Next week', list: [] } + ]; + for (const i of res) { + i.list = new Array(Random.natural(2, 8)).fill({}).map((v, idx) => ({ + id: idx + 1, + title: Random.ctitle(3, 16), + due: i.id === 1 && Random.boolean() ? `${Random.natural(1, 59)} ${Random.boolean() ? 'mins' : 'hours'} left` : null + })); + } + // new + if (res[0].list.length > 0) { + res[0].list[Random.natural(0, res[0].list.length - 1)].label = { + color: 'green', + text: 'Clients' + }; + } + if (res[1].list.length > 0) { + res[1].list[Random.natural(0, res[1].list.length - 1)].label = { + color: 'red', + text: 'Important' + }; + res[0].list[Random.natural(0, res[0].list.length - 1)].done = true; + } + if (res[2].list.length > 0) { + res[2].list[Random.natural(0, res[2].list.length - 1)].label = { + color: 'blue', + text: 'Other' + }; + res[0].list[Random.natural(0, res[0].list.length - 1)].done = true; + } + // labels + DATA.task = res; + return res; +} + +// #endregion + +// #region email + +function emailList(queryString: any): any { + if (DATA.email) { + return genPage('email', queryString, 'subject'); + } + const res: any[] = new Array(20).fill({}).map((v, idx) => ({ + id: ID++, + from: Random.email(), + from_name: genName(), + to: Random.email(), + to_name: Random.name(), + cc: [Random.email(), Random.email()], + subject: Random.title(1, 6), + body: Random.paragraph(), + read: idx % 2 === 0 && Random.boolean(), + star: Random.boolean(), + label: genLabel(), + attach: idx % 3 === 0 && Random.boolean(), + time: `1${Random.boolean() ? 'h' : 'd'} ago` + })); + // labels + DATA.email = res; + return genPage('email', queryString, 'subject'); +} + +function emailGet(id: number): any { + const idx = getIdx('email', id || 0); + const item = { ...DATA.email[idx], mp: genMp(), desc: genHtml(), attachements: attachements() }; + return item; +} +// #endregion + +// #region project + +function projectList(): any { + if (DATA.project) { + return DATA.project; + } + const res: any[] = new Array(5).fill({}).map((v, idx) => ({ + id: idx + 1, + title: genArr(['UI update', 'Web Design', 'Pro Design', 'Ng Alain', 'Delon', 'SEO']), + status: idx % 2 ? genArr(['active', 'pending', 'complete']) : 'active', + task: { + process: Random.natural(1, 100), + opened: Random.natural(1, 100), + completed: Random.natural(1, 100) + }, + remark: Random.title(5, 10), + created: Random.date(), + deadline: Random.date(), + tean: new Array(Random.natural(1, 6)).fill({}).map(() => ({ + name: genName(), + mp: genMp() + })), + leaders: new Array(Random.natural(1, 2)).fill({}).map(() => ({ + name: genName(), + mp: genMp() + })), + participants: new Array(Random.natural(1, 6)).fill({}).map(() => ({ + name: Random.name(), + mp: genMp() + })) + })); + // labels + DATA.project = res; + return res; +} + +function projectGet(id: number): any { + const idx = getIdx('project', id || 0); + const item = { + ...DATA.project[idx], + user_name: genName(), + desc: genHtml(), + attachements: attachements(), + tasks: DATA.task, + discussions: new Array(Random.natural(3, 8)).fill({}).map((v, idx) => ({ + id: idx + 1, + user_avatar: genMp(), + user_name: genName(), + time: Random.datetime(), + content: Random.paragraph(1, 1) + })), + activities: new Array(Random.natural(3, 12)).fill({}).map((v, idx) => ({ + id: idx + 1, + user_avatar: genMp(), + user_name: genName(), + time: Random.datetime(), + type: idx % 2 === 0 ? genArr(['add', 'completed', 'assigned']) : 'push', + commit: Random.natural(10000, 99999), + assigne_name: Random.name(), + message: Random.title() + })) + }; + return item; +} + +// #endregion + +// #region billing + +function billingList(queryString: any): any { + if (DATA.billing) { + return genPage('billing', queryString, 'client'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + order: `FR0${Random.natural(10, 99)}`, + client: genArr(['Google', 'Alibaba', 'Tencent']), + fee: Random.float(0, 9.0), + amount: Random.float(0.1, 99999.0), + date: Random.now('day'), + status: idx % 2 ? genArr(['Completed', 'Pending', 'Rejected']) : 'Completed', + auth_code: Random.natural(100000000), + address: (Random as any).county(true), + first_name: Random.first(), + last_name: Random.last(), + country: 'China' + })); + // labels + DATA.billing = res; + return genPage('billing', queryString, 'client'); +} + +function billingGet(id: number): any { + const idx = getIdx('billing', id || 0); + const item = { + ...DATA.billing[idx], + messages: new Array(Random.natural(0, 5)).fill({}).map((v, idx) => ({ + id: idx + 1, + time: `${Random.natural(1, 6)} day ago`, + message: Random.paragraph(1, 1) + })) + }; + return item; +} + +// #endregion + +// #region contact + +function contactList(queryString: any): any { + if (DATA.contact) { + return genPage('contact', queryString, 'contact'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + user_name: Random.name(false), + company: Random.title(1, 3), + email: Random.email(), + tel: Random.natural(10000000000, 16000000000) + })); + // labels + DATA.contact = res; + return genPage('contact', queryString, 'company'); +} + +// #endregion + +// #region pricing + +function pricingList(): any { + if (DATA.pricing) { + return DATA.pricing; + } + const res: any = { + prices: [ + { + id: 1, + title: 'Basic', + icon: 'shop', + mo: 12, + yr: 12 * 12, + user: 5, + project: 5, + space: '100GB' + }, + { + id: 2, + title: 'Company', + icon: 'bank', + mo: 25, + yr: 25 * 12, + user: 30, + project: 150, + space: '300GB' + }, + { + id: 3, + title: 'Enterprise', + icon: 'crown', + mo: 50, + yr: 50 * 12, + user: -1, + project: -1, + space: '1000GB' + } + ], + faq: [ + { + q: 'Can I cancel at anytime?', + a: 'Yes, you can cancel anytime no questions are asked while you cancel but we would highly appreciate if you will give us some feedback.' + }, + { + q: 'My team has credits. How do we use them?', + a: 'Once your team signs up for a subscription plan. enim eiusmod high life accusamus eoset dignissimos.' + }, + { + q: `How does Front's pricing work?`, + a: 'Our subscriptions are tiered. based on the number of people enim eiusmod high life accusamus terry richardson ad squid.' + }, + { + q: 'How secure is Front?', + a: 'Protecting the data you trust to Front is our first priority. at vero eoset dignissimos ducimus qui blanditiis.' + }, + { + q: 'Do you offer discounts?', + a: `We've built in discounts at each tier for teams. leggings occaecat craft beer farm-to-table. raw denim aesthetic synth nesciunt.` + }, + { + q: 'What is your refund policy?', + a: 'We do not offer refunds apart leggings occaecat craft beer farm-to-table. raw leggings occaecat craft.' + } + ] + }; + // labels + DATA.pricing = res; + return res; +} + +// #endregion + +// #region client + +function clientList(queryString: any): any { + if (DATA.client) { + return genPage('client', queryString, 'company'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + user_name: Random.name(false), + company: Random.title(1, 3), + email: Random.email(), + tel: Random.natural(10000000000, 16000000000), + status: idx % 2 ? genArr(['active', 'pending', 'progress']) : 'active' + })); + // labels + DATA.client = res; + return genPage('client', queryString, 'company'); +} + +function clientGet(id: number): any { + const idx = getIdx('client', id || 0); + const item = { + ...DATA.client[idx], + messages: new Array(Random.natural(0, 5)).fill({}).map((v, idx) => ({ + id: idx + 1, + time: `${Random.natural(1, 6)} day ago`, + message: Random.paragraph(1, 1) + })) + }; + return item; +} + +// #endregion + +// #region course + +function courseList(queryString: any): any { + if (DATA.course) { + return genPage('course', queryString, 'title'); + } + const res: any[] = new Array(10).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genBigMp(), + tags: genTag(), + price: idx === 0 ? 0 : Random.natural(0, 100), + title: Random.title(2, 5), + remark: Random.paragraph(1, 1), + star: genArr([4, 4.5, 5]), + hour: Random.natural(10, 99) + })); + // labels + DATA.course = res; + return genPage('course', queryString, 'title'); +} + +// #endregion + +// #region chat + +function chatList(): any { + if (DATA.chat) { + return DATA.chat; + } + const res: any = { + users: new Array(10).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + count: idx % 3 === 0 ? Random.natural(0, 5) : 0, + online: idx < 5 ? true : false, + unread: Random.boolean() && Random.boolean() ? Random.natural(0, 5) : 0 + })) + }; + // labels + DATA.chat = res; + return res; +} + +// #endregion + +// #region gallery + +function galleryList(): any { + if (DATA.gallery) { + return DATA.gallery; + } + const res: any = new Array(16).fill({}).map((v, idx) => ({ + id: idx + 1, + url: genBigMp(), + title: Random.title(), + type: genArr(['Nature', 'Beach', 'Animal', 'Other']) + })); + // labels + DATA.gallery = res; + return res; +} + +// #endregion + +// #region article + +function articleList(queryString: any): any { + if (DATA.article) { + return genPage('article', queryString, 'title'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + title: Random.ctitle(), + likes: Random.natural(0, 1000), + comments: Random.natural(0, 1000), + created: Random.now('day'), + status: idx % 2 ? genArr(['Published', 'Draft', 'Deleted']) : 'Published' + })); + // labels + DATA.article = res; + return genPage('article', queryString, 'title'); +} + +function articleGet(id: number): any { + const idx = getIdx('article', id || 0); + const item = { ...DATA.article[idx] }; + return item; +} + +// #endregion + +// #region voting + +function votingList(queryString: any): any { + if (DATA.voting) { + return genPage('voting', queryString, 'title'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + voting: Random.integer(-10, 10000), + title: Random.title(5, 10), + content: Random.paragraph(), + likes: Random.natural(0, 1000), + created: Random.now('day') + })); + // labels + DATA.voting = res; + return genPage('voting', queryString, 'title'); +} + +function votingSave(req: any): any { + const idx = getIdx('voting', req.id || 0); + DATA.voting[idx].value += req.voting; + return { msg: 'ok', item: DATA.voting[idx] }; +} + +// #endregion + +// #region voting + +function invoice(): any { + if (DATA.invoice) { + return deepCopy(DATA.invoice); + } + const res: any = { + id: Random.integer(10000, 99999), + zone: 'Mountain View, CA 94043 United States', + address: '1600 Amphitheatre Parkway', + tel: '15900000000, +86 (021) 99999999', + date: genData(0), + to: { + company: 'XXX Company LTD', + zone: 'Mountain View, CA 94043 United States', + address: '1600 Amphitheatre Parkway', + tel: '15900000000, +86 (021) 99999999', + email: 'cipchk@qq.com' + }, + payment: { + total: 0, + bank: 'XXXX Bank', + country: 'China', + city: 'Shang Hai', + address: 'xxx xxxx', + code: '012384' + }, + wares: [ + { + id: 1, + title: Random.title(), + remark: Random.title(), + price: +Random.float(0.1, 999).toFixed(2), + num: +Random.natural(1, 10) + }, + { + id: 2, + title: Random.title(), + remark: Random.title(), + price: +Random.float(0.1, 999).toFixed(2), + num: +Random.natural(1, 10) + } + ], + note: Random.paragraph() + }; + // total + res.wares.forEach((i: any) => { + i.total = +(i.price * i.num).toFixed(2); + }); + res.tax_rate = 0.2; + res.total = +(res.wares as any[]).reduce((a, b) => (a += b.total), 0).toFixed(2); + res.tax = +(res.total * 0.2).toFixed(2); + res.payment_total = +(res.total + res.tax).toFixed(2); + DATA.invoice = res; + + return deepCopy(DATA.invoice); +} + +// #endregion + +// #region faq + +function faq(): any { + if (DATA.faq) { + return deepCopy(DATA.faq); + } + DATA.faq = new Array(6).fill({}).map((v, idx) => ({ + title: `Knowledge ${idx + 1}`, + icon: 'question-circle', + primary: idx < 3, + remark: 'The list of FAQ', + children: new Array(Random.natural(3, 6)).fill({}).map((v, idx) => ({ + active: idx === 0, + q: 'What is a product key?', + a: genHtml() + })) + })); + + return deepCopy(DATA.faq); +} + +// #endregion + +// #region calendar + +function calendar(req: any): any { + const cur = new Date(+req.time || new Date()); + const startDate = startOfMonth(cur); + const max = getDaysInMonth(cur); + const start = format(startDate, 'yyyy-MM'); + const now = format(new Date(), 'yyyy-MM-dd'); + return [ + { + id: 1, + title: 'All Day Event', + start: `${start}-1`, + className: 'fc-event-danger fc-event-fill-warning' + }, + { + id: 2, + title: 'Reporting', + start: `${start}-7T13:30:00`, + end: `${start}-7`, + className: 'fc-event-success' + }, + { + id: 3, + title: 'Company Trip', + start: `${start}-12`, + end: `${start}-14`, + className: 'fc-event-primary' + }, + { + id: 4, + title: 'Product Release', + start: `${start}-3`, + end: `${start}-5`, + className: 'fc-event-light fc-event-fill-primary' + }, + { + id: 5, + title: 'Repeating Event', + start: `${start}-09T16:00:00`, + className: 'fc-event-purple' + }, + { id: 6, title: 'Repeating Event', start: `${start}-11T16:00:00` }, + { + id: 7, + title: 'Meeting', + start: `${now}T10:00:00`, + end: `${now}T11:30:00` + }, + { id: 8, title: 'Lunch', start: `${now}T12:00:00` }, + { + id: 9, + title: 'Meeting', + start: `${now}T14:00:00`, + className: 'fc-event-warning' + }, + { + id: 10, + title: 'Happy Hour', + start: `${now}T17:30:00`, + className: 'fc-event-success' + }, + { + id: 11, + title: 'Dinner', + start: `${now}T18:30:00`, + className: 'fc-event-fill-danger fc-event-light' + }, + { + id: 12, + title: 'Birthday Party', + start: `${now}T21:00:00`, + className: 'fc-event-primary' + }, + { + id: 13, + title: 'Click for Ng Alain', + url: 'https://ng-alain.com', + start: `${start}-27`, + className: 'fc-event-fill-success fc-event-light' + }, + { + id: 14, + title: 'Repeating Event', + start: `${start}-09T08:00:00`, + className: 'fc-event-magenta' + } + ]; +} + +// #endregion + +// #region quick + +function quick(): any { + if (DATA.quick) { + return deepCopy(DATA.quick); + } + DATA.quick = { + notifications: new Array(6).fill({}).map(() => ({ + dot: genArr([ + { icon: 'warning', bg: 'error' }, + { icon: 'pie-chart', bg: 'primary' }, + { icon: 'message', bg: 'success' }, + { icon: 'bell', bg: 'cyan' } + ]), + content: Random.title(5, 15), + time: genArr(['01:01 PM', '09:00 AM', '18:56']), + tags: genTag().join(',') + })), + actions: new Array(6).fill({}).map(() => ({ + bg: genColorName(), + title: Random.title(2, 3), + content: Random.title(5, 15) + })), + settings: { + notification: true, + audit_log: false, + new_order: false, + tracking_order: false, + reports_order: true, + new_customer: true, + reporting_customer: true + } + }; + + return deepCopy(DATA.quick); +} + +// #endregion + +// #region dd + +function ddList(): any { + if (DATA.dd) { + return DATA.dd; + } + DATA.dd = [ + { + name: 'total-sales', + title: '总数-总销售额', + enabled: true, + params: { title: '总销售额', total: 100, week: 10, day: 11, daySales: 1000 } + }, + { + name: 'total-sales', + title: '总数-总订单量', + enabled: false, + params: { title: '总订单量', total: 5500, week: 320, day: 5, daySales: 5422 } + }, + { + name: 'total-sales', + title: '总数-总用户量', + enabled: false, + params: { title: '总用户量', total: 500, week: 80, day: 23, daySales: 6666 } + }, + { + name: 'total-sales', + title: '总数-其他', + enabled: false, + params: { title: '其他', total: 200, week: 80, day: 23, daySales: 77777 } + }, + { + name: 'visits', + title: '访问量', + enabled: true, + params: { url: '/chart' } + }, + { + name: 'effect', + title: '访问量', + enabled: true, + params: { percent: 66, week: 11, day: 23 } + }, + { + name: 'gauge', + title: '核销率', + enabled: true + }, + { + name: 'radar', + title: '指数', + enabled: true, + params: { title: '贡献指数', url: '/chart' } + }, + { + name: 'activities', + title: '动态', + enabled: true, + params: { title: '动态', url: '/api/activities' } + } + ]; + return DATA.dd; +} + +function ddSave(req: any): any { + DATA.dd = req; + return { msg: 'ok' }; +} + +// #endregion + +export const OTHERS = { + '/kanban-board': kanbanList(), + 'DELETE /kanban-board': (req: MockRequest) => del('kanban', req.queryString), + '/task': taskList(), + 'DELETE /task': (req: MockRequest) => del('task', req.queryString), + '/email': (req: MockRequest) => emailList(req.queryString), + '/email/:id': (req: MockRequest) => emailGet(+req.params.id), + 'DELETE /email': (req: MockRequest) => del('email', req.queryString), + '/project': projectList(), + '/project/:id': (req: MockRequest) => projectGet(+req.params.id), + 'DELETE /project': (req: MockRequest) => del('project', req.queryString), + '/client': (req: MockRequest) => clientList(req.queryString), + '/client/:id': (req: MockRequest) => clientGet(+req.params.id), + '/contact': (req: MockRequest) => contactList(req.queryString), + 'DELETE /contact': (req: MockRequest) => del('contact', req.queryString), + '/pricing': () => pricingList(), + '/billing': (req: MockRequest) => billingList(req.queryString), + '/course': (req: MockRequest) => courseList(req.queryString), + '/chat': () => chatList(), + '/chat/message': () => { + const item: any = { + type: Random.boolean() && Random.boolean() ? 'image' : 'text', + dir: Random.boolean() ? 'left' : 'right' + }; + item.msg = item.type === 'text' ? Random.paragraph(1, 1) : genBigMp(); + return item; + }, + '/gallery': () => galleryList(), + '/article': (req: MockRequest) => articleList(req.queryString), + '/article/:id': (req: MockRequest) => articleGet(+req.params.id), + 'DELETE /article': (req: MockRequest) => del('article', req.queryString), + 'POST /article': (req: MockRequest) => save('article', req.body), + '/voting': (req: MockRequest) => votingList(req.queryString), + 'POST /voting': (req: MockRequest) => votingSave(req.body), + '/invoice': () => invoice(), + '/faq': () => faq(), + '/calendar': (req: MockRequest) => calendar(req.queryString), + '/quick': () => quick(), + '/dd': () => ddList(), + 'POST /dd': (req: MockRequest) => ddSave(req.body) +}; diff --git a/_mock/_permission.ts b/_mock/_permission.ts new file mode 100644 index 00000000..be8b61cb --- /dev/null +++ b/_mock/_permission.ts @@ -0,0 +1,58 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; + +interface Permission { + id: number; + parent_id: number; + text: string; +} + +export const PermissionData: Permission[] = [ + { id: 1, parent_id: 0, text: '超级权限' }, + { id: 2, parent_id: 0, text: '系统' }, + { id: 3, parent_id: 2, text: '员工' }, + { id: 4, parent_id: 2, text: '菜单' }, + { id: 5, parent_id: 2, text: '权限' }, + { id: 6, parent_id: 0, text: '订单' }, + { id: 7, parent_id: 6, text: '列表' }, + { id: 8, parent_id: 6, text: '导入订单' }, + { id: 9, parent_id: 6, text: '打印快递单' }, + { id: 10, parent_id: 9, text: '批量打印' }, + { id: 11, parent_id: 6, text: '发货' }, + { id: 12, parent_id: 11, text: '批量发货' }, +]; + +function getIdx(id: number): number { + id = +id; + const idx = PermissionData.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const PERMISSION = { + '/permission': () => deepCopy(PermissionData), + 'POST /permission': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + PermissionData[idx] = { ...PermissionData[idx], ...req.body }; + return { msg: 'ok', item: PermissionData[idx] }; + } + + const item = { ...req.body, id: PermissionData.sort((a, b) => b.id - a.id)[0].id + 1 }; + PermissionData.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /permission/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + PermissionData.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /permission/move': (req: MockRequest) => { + const idx = getIdx(req.body.from || 0); + PermissionData[idx].parent_id = req.body.to || 0; + return { msg: 'ok', item: PermissionData[idx] }; + }, +}; diff --git a/_mock/_pois.ts b/_mock/_pois.ts new file mode 100644 index 00000000..ad4c9b01 --- /dev/null +++ b/_mock/_pois.ts @@ -0,0 +1,61 @@ +export const POIS = { + '/pois': { + total: 2, + list: [ + { + id: 10000, + user_id: 1, + name: '测试品牌', + branch_name: '测试分店', + geo: 310105, + country: '中国', + province: '上海', + city: '上海市', + district: '长宁区', + address: '中山公园', + tel: '15900000000', + categories: '美食,粤菜,湛江菜', + lng: 121.41707989151003, + lat: 31.218656214644792, + recommend: '推荐品', + special: '特色服务', + introduction: '商户简介', + open_time: '营业时间', + avg_price: 260, + reason: null, + status: 1, + status_str: '待审核', + status_wx: 1, + modified: 1505826527288, + created: 1505826527288, + }, + { + id: 10001, + user_id: 2, + name: '测试品牌2', + branch_name: '测试分店2', + geo: 310105, + country: '中国', + province: '上海', + city: '上海市', + district: '长宁区', + address: '中山公园', + tel: '15900000000', + categories: '美食,粤菜,湛江菜', + lng: 121.41707989151003, + lat: 31.218656214644792, + recommend: '推荐品', + special: '特色服务', + introduction: '商户简介', + open_time: '营业时间', + avg_price: 260, + reason: null, + status: 1, + status_str: '待审核', + status_wx: 1, + modified: 1505826527288, + created: 1505826527288, + }, + ], + }, +}; diff --git a/_mock/_profile.ts b/_mock/_profile.ts new file mode 100644 index 00000000..888f5573 --- /dev/null +++ b/_mock/_profile.ts @@ -0,0 +1,152 @@ +const basicGoods = [ + { + id: '1234561', + name: '矿泉水 550ml', + barcode: '12421432143214321', + price: '2.00', + num: '1', + amount: '2.00', + }, + { + id: '1234562', + name: '凉茶 300ml', + barcode: '12421432143214322', + price: '3.00', + num: '2', + amount: '6.00', + }, + { + id: '1234563', + name: '好吃的薯片', + barcode: '12421432143214323', + price: '7.00', + num: '4', + amount: '28.00', + }, + { + id: '1234564', + name: '特别好吃的蛋卷', + barcode: '12421432143214324', + price: '8.50', + num: '3', + amount: '25.50', + }, +]; + +const basicProgress = [ + { + key: '1', + time: '2017-10-01 14:10', + rate: '联系客户', + status: 'processing', + operator: '取货员 ID1234', + cost: '5mins', + }, + { + key: '2', + time: '2017-10-01 14:05', + rate: '取货员出发', + status: 'success', + operator: '取货员 ID1234', + cost: '1h', + }, + { + key: '3', + time: '2017-10-01 13:05', + rate: '取货员接单', + status: 'success', + operator: '取货员 ID1234', + cost: '5mins', + }, + { + key: '4', + time: '2017-10-01 13:00', + rate: '申请审批通过', + status: 'success', + operator: '系统', + cost: '1h', + }, + { + key: '5', + time: '2017-10-01 12:00', + rate: '发起退货申请', + status: 'success', + operator: '用户', + cost: '5mins', + }, +]; + +const advancedOperation1 = [ + { + key: 'op1', + type: '订购关系生效', + name: '曲丽丽', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, + { + key: 'op2', + type: '财务复审', + name: '付小小', + status: 'reject', + updatedAt: '2017-10-03 19:23:12', + memo: '不通过原因', + }, + { + key: 'op3', + type: '部门初审', + name: '周毛毛', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, + { + key: 'op4', + type: '提交订单', + name: '林东东', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '很棒', + }, + { + key: 'op5', + type: '创建订单', + name: '汗牙牙', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, +]; + +const advancedOperation2 = [ + { + key: 'op1', + type: '订购关系生效', + name: '曲丽丽', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, +]; + +const advancedOperation3 = [ + { + key: 'op1', + type: '创建订单', + name: '汗牙牙', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, +]; + +export const PROFILES = { + 'GET /profile/progress': basicProgress, + 'GET /profile/goods': basicGoods, + 'GET /profile/advanced': { + advancedOperation1, + advancedOperation2, + advancedOperation3, + }, +}; diff --git a/_mock/_role.ts b/_mock/_role.ts new file mode 100644 index 00000000..84afc1e4 --- /dev/null +++ b/_mock/_role.ts @@ -0,0 +1,73 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; + +interface Permission { + id: number; + parent_id: number; + text: string; + permission: number[]; +} + +export const RuleData: Permission[] = [ + { id: 1, parent_id: 0, text: '管理', permission: [1] }, + { id: 2, parent_id: 0, text: '仓储', permission: [] }, + { id: 3, parent_id: 0, text: '营销', permission: [] }, + { id: 4, parent_id: 0, text: '第三方', permission: [7] }, + { + id: 5, + parent_id: 2, + text: '仓储经理', + permission: [6, 7, 8, 9, 10, 11, 12], + }, + { id: 6, parent_id: 2, text: '出库员', permission: [6, 7, 9, 10, 11, 12] }, + { id: 7, parent_id: 2, text: '入库员', permission: [6, 7] }, + { id: 8, parent_id: 3, text: '市场经理', permission: [6, 7] }, + { id: 9, parent_id: 3, text: '销售人员', permission: [6, 7] }, +]; + +function get(params: any): any { + let ret = deepCopy(RuleData); + if (params.q) { + ret = ret.filter((data: any) => data.text.indexOf(params.q) > -1); + } + const p = +(params.permission || '0'); + if (p > 0) { + ret = ret.filter((data: any) => data.permission.includes(p)); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = RuleData.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const ROLES_PRO = { + '/role': (req: MockRequest) => get(req.queryString), + 'POST /role': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + RuleData[idx] = { ...RuleData[idx], ...req.body }; + return { msg: 'ok', item: RuleData[idx] }; + } + + const item = { ...req.body, id: RuleData.sort((a, b) => b.id - a.id)[0].id + 1 }; + RuleData.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /role/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + RuleData.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /role/move': (req: MockRequest) => { + const idx = getIdx(req.body.from || 0); + RuleData[idx].parent_id = req.body.to || 0; + return { msg: 'ok', item: RuleData[idx] }; + }, +}; diff --git a/_mock/_rule.ts b/_mock/_rule.ts new file mode 100644 index 00000000..64f40087 --- /dev/null +++ b/_mock/_rule.ts @@ -0,0 +1,82 @@ +import { HttpRequest } from '@angular/common/http'; +import { MockRequest } from '@delon/mock'; + +const list: any[] = []; + +for (let i = 0; i < 46; i += 1) { + list.push({ + key: i, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + no: `TradeCode ${i}`, + title: `一个任务名称 ${i}`, + owner: '曲丽丽', + description: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: new Date(`2017-07-${i < 18 ? '0' + (Math.floor(i / 2) + 1) : Math.floor(i / 2) + 1}`), + createdAt: new Date(`2017-07-${i < 18 ? '0' + (Math.floor(i / 2) + 1) : Math.floor(i / 2) + 1}`), + progress: Math.ceil(Math.random() * 100), + }); +} + +function getRule(params: any): any[] { + let ret = [...list]; + if (params.sorter) { + const s = params.sorter.split('_'); + ret = ret.sort((prev, next) => { + if (s[1] === 'descend') { + return next[s[0]] - prev[s[0]]; + } + return prev[s[0]] - next[s[0]]; + }); + } + if (params.statusList && params.statusList.length > 0) { + ret = ret.filter((data) => params.statusList.indexOf(data.status) > -1); + } + if (params.no) { + ret = ret.filter((data) => data.no.indexOf(params.no) > -1); + } + return ret; +} + +function removeRule(nos: string): boolean { + nos.split(',').forEach((no) => { + const idx = list.findIndex((w) => w.no === no); + if (idx !== -1) { + list.splice(idx, 1); + } + }); + return true; +} + +function saveRule(description: string): void { + const i = Math.ceil(Math.random() * 10000); + list.unshift({ + key: i, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + no: `TradeCode ${i}`, + title: `一个任务名称 ${i}`, + owner: '曲丽丽', + description, + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 2, + updatedAt: new Date(), + createdAt: new Date(), + progress: Math.ceil(Math.random() * 100), + }); +} + +export const RULES = { + '/rule': (req: MockRequest) => getRule(req.queryString), + 'DELETE /rule': (req: MockRequest) => removeRule(req.queryString.nos), + 'POST /rule': (req: MockRequest) => saveRule(req.body.description), +}; diff --git a/_mock/_trade.ts b/_mock/_trade.ts new file mode 100644 index 00000000..6290e476 --- /dev/null +++ b/_mock/_trade.ts @@ -0,0 +1,172 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; + +import { genMp, genName } from './utils'; + +interface Trade { + id: number; + buyer_id: number; + buyer_nick: string; + price: number; + discount_fee: number; + post_fee: number; + payment: number; + pay_time?: Date; + status: number; + status_str: string; + logistics_name?: string; + logistics_no?: string; + finished?: Date; + created: Date; + wares: TradeWare[]; + memo?: string; + [key: string]: any; +} + +interface TradeWare { + ware_id: number; + sku_id: number; + num: number; + price: number; + mp: string; + title: string; +} + +const DATA: Trade[] = []; +const STATUS: { [key: string]: string } = { + CANCELED: '取消', + WAIT_BUYER_PAY: '等待买家付款', + WAIT_PAY_CONFIRM: '支付确认中', + WAIT_SELLER_STOCK_OUT: '等待出库', + WAIT_GOODS_RECEIVE_CONFIRM: '等待确认收货', + FINISHED: '交易成功' +}; + +for (let i = 1; i <= 30; i += 1) { + const buyer_nick = genName(); + const status: any = Object.keys(STATUS)[Random.natural(0, 5)]; + let pay_time: Date | null = null; + let finished: Date | null = null; + if (status !== 'WAIT_BUYER_PAY' || status !== 'CANCELED') { + pay_time = new Date(); + } + if (status !== 'FINISHED') { + finished = new Date(); + } + const price = Random.natural(100, 10000); + const discount_fee = Random.natural(0, 100); + const post_fee = Random.natural(6, 20); + + DATA.push({ + id: 10000 * i, + buyer_id: Random.natural(10000, 100000), + buyer_nick, + buyer_tel: Random.natural(10000000000, 19999999999), + buyer_adr: Random.city(true), + buyer_message: Random.title(5, 20), + price, + discount_fee, + post_fee, + payment: price - discount_fee + post_fee, + pay_time, + finished, + status, + status_str: STATUS[status], + logistics_name: '', + logistics_no: '', + created: new Date(), + wares: genWare(Random.natural(1, 5)) + } as any); +} + +function genWare(count: number): TradeWare[] { + return new Array(count).fill({}).map((v, idx) => ({ + ware_id: Random.natural(10000, 10020), + sku_id: (idx + 1) * 1000, + num: Random.natural(1, 10), + price: Random.natural(10, 500), + mp: genMp(), + title: Random.ctitle(5, 10) + })); +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.sorter) { + const s = params.sorter.split('_'); + ret = ret.sort((prev: any, next: any) => { + if (s[1] === 'descend') { + return next[s[0]] - prev[s[0]]; + } + return prev[s[0]] - next[s[0]]; + }); + } + if (params.id) { + ret = ret.filter((data: any) => data.id == params.id); + } + if (params.statusList && params.statusList.length > 0) { + ret = ret.filter((data: any) => params.statusList.indexOf(data.status) > -1); + } + if (params.ware_id) { + ret = ret.filter((data: any) => data.wares.find((w: any) => w.ware_id == params.ware_id)); + } + if (params.buyer_nick) { + ret = ret.filter((data: any) => data.buyer_nick.indexOf(params.buyer_nick) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex(w => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const TRADES = { + '/trade': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps) + }; + }, + 'POST /trade': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + '/trade/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx] }; + return item; + }, + 'DELETE /trade/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /trade/status': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].status = req.body.status; + DATA[idx].status_str = STATUS[req.body.status]; + return { msg: 'ok', item: DATA[idx] }; + }, + 'POST /trade/memo': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].memo = req.body.memo; + return { msg: 'ok', item: DATA[idx] }; + } +}; diff --git a/_mock/_user-pro.ts b/_mock/_user-pro.ts new file mode 100644 index 00000000..3909efb4 --- /dev/null +++ b/_mock/_user-pro.ts @@ -0,0 +1,91 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; +import { genName } from './utils'; +import { RuleData } from './_role'; + +interface UserPro { + id: number; + name: string; + userName: string; + email: string; + verified: boolean; + status: 'active' | 'banned' | 'deleted'; + role?: any; + permission?: any[]; + created: Date; +} + +const DATA: UserPro[] = []; + +for (let i = 1; i <= 20; i += 1) { + const name = genName(); + DATA.push({ + id: i, + name, + userName: `user name ${i}`, + email: `${name}` + ['@qq.com', '@gmail.com', '@163.com'][Math.floor(Math.random() * 10) % 3], + verified: [true, false][Math.floor(Math.random() * 10) % 2], + status: ['active', 'banned', 'deleted'][Math.floor(Math.random() * 10) % 3] as any, + role: deepCopy(RuleData[Random.natural(0, RuleData.length - 1)]), + permission: [], + created: new Date(), + }); +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.q) { + ret = ret.filter((data: any) => data.name.indexOf(params.q) > -1); + } + if (params.email) { + ret = ret.filter((data: any) => data.email.indexOf(params.email) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const USERS_PRO = { + '/user-pro': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'POST /user-pro': (req: MockRequest) => { + const id = req.body.id || 0; + // fix role data + req.body.role = RuleData.find((w) => w.id === req.body.role.id); + + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + '/user-pro/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], ...req.body }; + return item; + }, + 'DELETE /user-pro/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_user.ts b/_mock/_user.ts new file mode 100644 index 00000000..386ffd1b --- /dev/null +++ b/_mock/_user.ts @@ -0,0 +1,122 @@ +import { MockRequest } from '@delon/mock'; + +const list: any[] = []; +const total = 50; + +for (let i = 0; i < total; i += 1) { + list.push({ + id: i + 1, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + no: `TradeCode ${i}`, + title: `一个任务名称 ${i}`, + owner: '曲丽丽', + description: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`), + createdAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`), + progress: Math.ceil(Math.random() * 100), + }); +} + +function genData(params: any): { total: number; list: any[] } { + let ret = [...list]; + const pi = +params.pi; + const ps = +params.ps; + const start = (pi - 1) * ps; + + if (params.no) { + ret = ret.filter((data) => data.no.indexOf(params.no) > -1); + } + + return { total: ret.length, list: ret.slice(start, ps * pi) }; +} + +function saveData(id: number, value: any): { msg: string } { + const item = list.find((w) => w.id === id); + if (!item) { + return { msg: '无效用户信息' }; + } + Object.assign(item, value); + return { msg: 'ok' }; +} + +export const USERS = { + '/user': (req: MockRequest) => genData(req.queryString), + '/user/:id': (req: MockRequest) => list.find((w) => w.id === +req.params.id), + 'POST /user/:id': (req: MockRequest) => saveData(+req.params.id, req.body), + '/user/current': { + name: 'Cipchk', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'cipchk@qq.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注撩妹', + }, + { + key: '2', + label: '帅~', + }, + { + key: '3', + label: '通吃', + }, + { + key: '4', + label: '专职后端', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + country: 'China', + geographic: { + province: { + label: '上海', + key: '330000', + }, + city: { + label: '市辖区', + key: '330100', + }, + }, + address: 'XX区XXX路 XX 号', + phone: '你猜-你猜你猜猜猜', + }, + 'POST /user/avatar': 'ok', + 'POST /login/account': (req: MockRequest) => { + const data = req.body; + if (!(data.userName === 'admin' || data.userName === 'user') || data.password !== 'ng-alain.com') { + return { msg: `Invalid username or password(admin/ng-alain.com)` }; + } + return { + msg: 'ok', + user: { + token: '123456789', + name: data.userName, + email: `${data.userName}@qq.com`, + id: 10000, + time: +new Date(), + }, + }; + }, + 'POST /register': { + msg: 'ok', + }, +}; diff --git a/_mock/_ware.ts b/_mock/_ware.ts new file mode 100644 index 00000000..e52d4fdb --- /dev/null +++ b/_mock/_ware.ts @@ -0,0 +1,163 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { genMp } from './utils'; + +interface UserPro { + cid: number; + cname: string; + id: number; + name: string; + mp: string; + stock: number; + outer_id: string; + market_price: number; + price: number; + sale_num: number; + status: string; + modified: Date; + [key: string]: any; +} + +const DATA: UserPro[] = []; + +for (let i = 1; i <= 20; i += 1) { + const name = ['HUAWEI Mate 20 Pro', '小米MAX3', 'IPhone X', 'Gree 8,000 BTU Portable Air Conditioner'][ + Math.floor(Math.random() * 10) % 4 + ]; + DATA.push({ + cid: i * 1000, + cname: '', + id: i + 10000, + name, + mp: genMp(), + stock: Math.floor(Math.random() * 1000) % 1000, + outer_id: `S50-${Math.floor(Math.random() * 100) % 100}`, + market_price: Math.floor(Math.random() * 1000) % 1000, + price: Math.floor(Math.random() * 1000) % 1000, + sale_num: Math.floor(Math.random() * 200) % 200, + modified: new Date(), + status: ['CUSTORMER_DOWN', 'ON_SALE', 'AUDIT_AWAIT', 'DELETED'][Math.floor(Math.random() * 10) % 4], + brand: 1, + place: 1, + }); +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.q) { + ret = ret.filter((data: any) => data.name.indexOf(params.q) > -1); + } + if (params.email) { + ret = ret.filter((data: any) => data.email.indexOf(params.email) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const WARES = { + '/ware': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'POST /ware': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + '/ware/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { + id: 0, + brand: 1, + is_7return: true, + prop: { + 1: '是', + 2: '24天', + 3: '0.5克', + }, + place: 1, + weight: 10, + skus: [ + { + id: 10001, + attributes: '1:10', + names: [`红色`, `S`], + price: 1000, + stock: 10, + }, + { + id: 10002, + attributes: '1:11', + names: [`红色`, `M`], + price: 1000, + stock: 11, + }, + { + id: 10003, + attributes: '3:10', + names: [`蓝色1`, `S`], + price: 1000, + stock: 12, + }, + { + id: 10004, + attributes: '3:11', + names: [`蓝色1`, `M`], + price: 1000, + stock: 13, + }, + ], + imgs: { + 0: ['https://randomuser.me/api/portraits/lego/0.jpg'], + 1: ['https://randomuser.me/api/portraits/lego/1.jpg'], + 3: ['https://randomuser.me/api/portraits/lego/3.jpg'], + }, + desc: `

Test

`, + ...(DATA[idx] as any), + }; + return item; + }, + 'DELETE /ware/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /ware/status': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + const item = DATA[idx]; + item.status = req.body.status; + return { msg: 'ok', item }; + }, + '/ware/cat': [ + { id: 1, name: '颜色', value: '红色', color: '#f5222d', type: 'color' }, + { id: 2, name: '颜色', value: '绿色', color: '#a0d911', type: 'color' }, + { id: 3, name: '颜色', value: '蓝色', color: '#1890ff', type: 'color' }, + { id: 4, name: '颜色', value: '洋红', color: '#eb2f96', type: 'color' }, + { id: 10, name: '尺寸', value: 'S', type: 'size' }, + { id: 11, name: '尺寸', value: 'M', type: 'size' }, + { id: 12, name: '尺寸', value: 'L', type: 'size' }, + { id: 13, name: '尺寸', value: 'XL', type: 'size' }, + { id: 14, name: '尺寸', value: 'XXL', type: 'size' }, + { id: 15, name: '尺寸', value: 'XXXL', type: 'size' }, + ], +}; diff --git a/_mock/index.ts b/_mock/index.ts new file mode 100644 index 00000000..69e1167a --- /dev/null +++ b/_mock/index.ts @@ -0,0 +1,21 @@ +export * from './_profile'; +export * from './_rule'; +export * from './_api'; +export * from './_chart'; +export * from './_pois'; +export * from './_user'; +export * from './_geo'; + +export * from './_file-manager'; +export * from './_img'; +export * from './_log'; +export * from './_menu'; +export * from './_permission'; +export * from './_role'; +export * from './_user-pro'; +export * from './utils'; + +export * from './_forum'; +export * from './_other'; +export * from './_trade'; +export * from './_ware'; diff --git a/_mock/utils.ts b/_mock/utils.ts new file mode 100644 index 00000000..71a98721 --- /dev/null +++ b/_mock/utils.ts @@ -0,0 +1,160 @@ +import addDays from 'date-fns/addDays'; +import format from 'date-fns/format'; +import { Random } from 'mockjs'; + +export const COLOR_NAMES = ['red', 'volcano', 'orange', 'gold', 'yellow', 'lime', 'green', 'cyan', 'blue', 'geekblue', 'purple', 'magenta']; + +export function genName(): any { + return genArr(['asdf', 'cipchk', '卡色']); +} + +export function genProvince(): any { + return genArr([ + '台湾', + '河北', + '山西', + '内蒙古', + '辽宁', + '吉林', + '黑龙江', + '江苏', + '浙江', + '安徽', + '福建', + '江西', + '山东', + '河南', + '湖北', + '湖南', + '广东', + '广西', + '海南', + '四川', + '贵州', + '云南', + '西藏', + '陕西', + '甘肃', + '青海', + '宁夏', + '新疆', + '北京', + '天津', + '上海', + '重庆', + '香港', + '澳门', + ]); +} + +export function genArr(arr: any[], count: number = 1): any { + if (count === 1) { + return arr[Random.natural(0, arr.length - 1)]; + } + return new Array(count <= -1 ? Random.natural(0, -count) : count).fill({}).map(() => { + return arr[Random.natural(0, arr.length - 1)]; + }); +} + +export function genColorName(): any { + return genArr(COLOR_NAMES); +} + +export function genLabel(): any { + return genArr([ + { + color: 'green', + text: 'Clients', + }, + { + color: 'red', + text: 'Important', + }, + { + color: 'blue', + text: 'Other', + }, + ]); +} + +/** 生成头像,`id` 只能0-8 */ +export function genMp(id?: number): string { + return `https://randomuser.me/api/portraits/lego/${typeof id === 'undefined' ? Random.natural(0, 8) : id}.jpg`; +} + +export function genBigMp(): string { + return `./assets/tmp/img-big/${Random.natural(1, 8)}.jpg`; +} + +export function genTag(num: number = -3): any { + return genArr(['Angular', 'Node', 'HTML5', 'Less', 'Db', 'Python', 'Go'], num); +} + +export function addDate(days: number): Date { + return addDays(new Date(), days); +} + +export function genData(days: number, dateFormat: string = 'yyyy-MM-dd'): string { + return format(addDate(days), dateFormat); +} + +export function rudeCopy(obj: any): string { + return JSON.parse(JSON.stringify(obj)); +} + +export function genContent(): string { + return ` +

主标题

+

次标题

+

段落,${Random.cparagraph(1, 1)}

+

段落,${Random.paragraph(1, 1)}

+

列表

+
    +
  1. +

    段落,${Random.paragraph(1, 1)}

    +

    +
  2. +
  3. +

    段落,${Random.paragraph(1, 1)}

    +

  4. +
  5. +

    段落,${Random.paragraph(1, 1)}

    +

  6. +
+

图像

+

+

表格

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ `; +} diff --git a/angular.json b/angular.json new file mode 100644 index 00000000..b04d04a7 --- /dev/null +++ b/angular.json @@ -0,0 +1,141 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "cli": { + "analytics": "0398a482-260e-4ce3-b33e-91ecf55f0703" + }, + "version": 1, + "newProjectRoot": "projects", + "projects": { + "ng-alain": { + "projectType": "application", + "root": "", + "sourceRoot": "src", + "prefix": "app", + "schematics": { + "@schematics/angular:component": { + "style": "less" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist", + "index": "src/index.html", + "main": "src/main.ts", + "tsConfig": "tsconfig.app.json", + "polyfills": "src/polyfills.ts", + "assets": [ + "src/assets", + "src/favicon.ico" + ], + "styles": [ + "node_modules/perfect-scrollbar/css/perfect-scrollbar.css", + "node_modules/quill/dist/quill.snow.css", + "src/styles.less" + ], + "scripts": [ + "node_modules/quill/dist/quill.min.js", + "node_modules/perfect-scrollbar/dist/perfect-scrollbar.js" + ], + "allowedCommonJsDependencies": [ + "ajv", + "ajv-formats" + ] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "ng-alain:build", + "proxyConfig": "proxy.conf.js" + }, + "configurations": { + "production": { + "browserTarget": "ng-alain:build:production" + }, + "development": { + "browserTarget": "ng-alain:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "ng-alain:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "karmaConfig": "karma.conf.js", + "tsConfig": "tsconfig.spec.json", + "scripts": [ + "node_modules/quill/dist/quill.min.js", + "node_modules/perfect-scrollbar/dist/perfect-scrollbar.js" + ], + "styles": [], + "assets": [ + "src/assets" + ] + } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "ng-alain:serve" + }, + "configurations": { + "production": { + "devServerTarget": "ng-alain:serve:production" + } + } + } + } + } + }, + "defaultProject": "ng-alain" +} diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js new file mode 100644 index 00000000..73e4e680 --- /dev/null +++ b/e2e/protractor.conf.js @@ -0,0 +1,32 @@ +// @ts-check +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +/** + * @type { import("protractor").Config } + */ +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.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 00000000..df95215f --- /dev/null +++ b/e2e/src/app.e2e-spec.ts @@ -0,0 +1,28 @@ +import { browser, logging } from 'protractor'; +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.getTitleText()).toEqual('Welcome to ng8!'); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser + .manage() + .logs() + .get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry), + ); + }); +}); diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts new file mode 100644 index 00000000..08b20ffd --- /dev/null +++ b/e2e/src/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class AppPage { + navigateTo(): Promise { + return browser.get(browser.baseUrl) as Promise; + } + + getTitleText(): Promise { + return element(by.css('app-root h1')).getText() as Promise; + } +} diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json new file mode 100644 index 00000000..eddd492c --- /dev/null +++ b/e2e/tsconfig.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "module": "commonjs", + "target": "es2018", + "types": ["jasmine", "jasminewd2", "node"] + } +} diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 00000000..224f06eb --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,38 @@ +// 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', 'text-summary'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + customLaunchers: { + ChromeHeadlessCI: { + base: 'ChromeHeadless', + flags: ['--no-sandbox'] + } + }, + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/ng-alain.json b/ng-alain.json new file mode 100644 index 00000000..2aecd66e --- /dev/null +++ b/ng-alain.json @@ -0,0 +1,17 @@ +{ + "$schema": "./node_modules/ng-alain/schema.json", + "theme": { + "additionalThemeVars": [ + "./src/app/layout/pro/styles/theme-#NAME#.less", + "./src/styles/fix/theme-#NAME#.less" + ], + "list": [ + { + "theme": "dark" + }, + { + "theme": "compact" + } + ] + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..cf0055a0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24244 @@ +{ + "name": "ng-alain-pro", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@agm/core": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@agm/core/download/@agm/core-1.1.0.tgz", + "integrity": "sha1-b43LrAaPaB/k+psKDL9mBYgCWRE=", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "@ampproject/remapping": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/download/@ampproject/remapping-1.0.1.tgz", + "integrity": "sha1-E5jnPlZ8KnmS32VUwVu5Som2i6I=", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "1.0.0", + "sourcemap-codec": "1.4.8" + } + }, + "@angular-devkit/architect": { + "version": "0.1202.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/architect/download/@angular-devkit/architect-0.1202.13.tgz", + "integrity": "sha1-ubiD1i9iimsxzgcdqR4mj2HaAO8=", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.13", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/build-angular": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-angular/download/@angular-devkit/build-angular-12.2.13.tgz", + "integrity": "sha1-9VZNPsnbEylWRzu5BLs1kEgvWzY=", + "dev": true, + "requires": { + "@ampproject/remapping": "1.0.1", + "@angular-devkit/architect": "0.1202.13", + "@angular-devkit/build-optimizer": "0.1202.13", + "@angular-devkit/build-webpack": "0.1202.13", + "@angular-devkit/core": "12.2.13", + "@babel/core": "7.14.8", + "@babel/generator": "7.14.8", + "@babel/helper-annotate-as-pure": "7.14.5", + "@babel/plugin-proposal-async-generator-functions": "7.14.7", + "@babel/plugin-transform-async-to-generator": "7.14.5", + "@babel/plugin-transform-runtime": "7.14.5", + "@babel/preset-env": "7.14.8", + "@babel/runtime": "7.14.8", + "@babel/template": "7.14.5", + "@discoveryjs/json-ext": "0.5.3", + "@jsdevtools/coverage-istanbul-loader": "3.0.5", + "@ngtools/webpack": "12.2.13", + "ansi-colors": "4.1.1", + "babel-loader": "8.2.2", + "browserslist": "^4.9.1", + "cacache": "15.2.0", + "caniuse-lite": "^1.0.30001032", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "9.0.1", + "core-js": "3.16.0", + "critters": "0.0.12", + "css-loader": "6.2.0", + "css-minimizer-webpack-plugin": "3.0.2", + "esbuild": "0.13.8", + "esbuild-wasm": "0.13.8", + "find-cache-dir": "3.3.1", + "glob": "7.1.7", + "https-proxy-agent": "5.0.0", + "inquirer": "8.1.2", + "karma-source-map-support": "1.4.0", + "less": "4.1.1", + "less-loader": "10.0.1", + "license-webpack-plugin": "2.3.20", + "loader-utils": "2.0.0", + "mini-css-extract-plugin": "2.4.2", + "minimatch": "3.0.4", + "open": "8.2.1", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.1.0", + "postcss": "8.3.6", + "postcss-import": "14.0.2", + "postcss-loader": "6.1.1", + "postcss-preset-env": "6.7.0", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "4.0.0", + "rxjs": "6.6.7", + "sass": "1.36.0", + "sass-loader": "12.1.0", + "semver": "7.3.5", + "source-map-loader": "3.0.0", + "source-map-support": "0.5.19", + "style-loader": "3.2.1", + "stylus": "0.54.8", + "stylus-loader": "6.1.0", + "terser": "5.7.1", + "terser-webpack-plugin": "5.1.4", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.3.0", + "webpack": "5.50.0", + "webpack-dev-middleware": "5.0.0", + "webpack-dev-server": "3.11.2", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "1.5.2" + }, + "dependencies": { + "esbuild": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.8.tgz", + "integrity": "sha1-vXzFG4gasGd4n4jhe6ynRyTB7E8=", + "dev": true, + "optional": true, + "requires": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "@angular-devkit/build-optimizer": { + "version": "0.1202.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-optimizer/download/@angular-devkit/build-optimizer-0.1202.13.tgz", + "integrity": "sha1-fwsTNozCoIsfR4mrEpahYJ9QSeo=", + "dev": true, + "requires": { + "source-map": "0.7.3", + "tslib": "2.3.0", + "typescript": "4.3.5" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1202.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-webpack/download/@angular-devkit/build-webpack-0.1202.13.tgz", + "integrity": "sha1-h1+flne7EAVrUiMJZdwvAL0wid0=", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1202.13", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/core/download/@angular-devkit/core-12.2.13.tgz", + "integrity": "sha1-2zkp0b/OcQELN/t8Tmwz74Ck818=", + "dev": true, + "requires": { + "ajv": "8.6.2", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "dependencies": { + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-8.6.2.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-8.6.2.tgz", + "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/ajv-formats/download/ajv-formats-2.1.0.tgz", + "integrity": "sha1-lur4PjjTIQi2bYKpywz6JIhs3+s=", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + } + } + }, + "@angular-devkit/schematics": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/schematics/download/@angular-devkit/schematics-12.2.13.tgz", + "integrity": "sha1-ZGTYb6PM0O+16tRseTzvnsRcd1g=", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.13", + "ora": "5.4.1", + "rxjs": "6.6.7" + } + }, + "@angular-eslint/builder": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/builder/download/@angular-eslint/builder-12.3.1.tgz", + "integrity": "sha1-4KZ2ipx+4jYjseNjoj5ZozO22r4=", + "dev": true, + "requires": { + "@nrwl/devkit": ">= 12.0.0 < 13.0.0" + } + }, + "@angular-eslint/eslint-plugin": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/eslint-plugin/download/@angular-eslint/eslint-plugin-12.3.1.tgz", + "integrity": "sha1-AKxE1ZhthhE9ZaU3N0bh/CL9hwI=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.28.2" + } + }, + "@angular-eslint/eslint-plugin-template": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/eslint-plugin-template/download/@angular-eslint/eslint-plugin-template-12.3.1.tgz", + "integrity": "sha1-MyYM1TVt9dt+J3GUQ+q89sIU4y4=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.28.2", + "aria-query": "^4.2.2", + "axobject-query": "^2.2.0" + } + }, + "@angular-eslint/schematics": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/schematics/download/@angular-eslint/schematics-12.3.1.tgz", + "integrity": "sha1-mQYKZP1t02/7TF4lS4VWL00BUNk=", + "dev": true, + "requires": { + "@angular-eslint/eslint-plugin": "12.3.1", + "@angular-eslint/eslint-plugin-template": "12.3.1", + "ignore": "5.1.8", + "strip-json-comments": "3.1.1", + "tmp": "0.2.1" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + } + } + }, + "@angular-eslint/template-parser": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/template-parser/download/@angular-eslint/template-parser-12.3.1.tgz", + "integrity": "sha1-Vh/hvT+0pNdcxVNm0ngYvKIiBMk=", + "dev": true, + "requires": { + "eslint-scope": "^5.1.0" + } + }, + "@angular/animations": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/animations/download/@angular/animations-12.2.13.tgz", + "integrity": "sha1-kJt5xWqFuzHAYF7UGYUDQLVYC+k=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/cdk": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/cdk/download/@angular/cdk-12.2.13.tgz", + "integrity": "sha512-zSKRhECyFqhingIeyRInIyTvYErt4gWo+x5DQr0b7YLUbU8DZSwWnG4w76Ke2s4U8T7ry1jpJBHoX/e8YBpGMg==", + "requires": { + "parse5": "^5.0.0", + "tslib": "^2.2.0" + } + }, + "@angular/cli": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/cli/download/@angular/cli-12.2.13.tgz", + "integrity": "sha1-ylhsFKb4O7Q5CHW+Cg+nCbmirik=", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1202.13", + "@angular-devkit/core": "12.2.13", + "@angular-devkit/schematics": "12.2.13", + "@schematics/angular": "12.2.13", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.2", + "ini": "2.0.0", + "inquirer": "8.1.2", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.2.1", + "ora": "5.4.1", + "pacote": "11.3.5", + "resolve": "1.20.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", + "uuid": "8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/download/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "dev": true + } + } + }, + "@angular/common": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/common/download/@angular/common-12.2.13.tgz", + "integrity": "sha1-/lL/roZowd7EGybNw6dJEBOZ4f4=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/compiler": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/compiler/download/@angular/compiler-12.2.13.tgz", + "integrity": "sha1-fu9v24G53m/Q4s3aKtighMHZU1s=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/compiler-cli": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/compiler-cli/download/@angular/compiler-cli-12.2.13.tgz", + "integrity": "sha1-PORjJj6AqGHhSvLtO6gVmAYOPOA=", + "dev": true, + "requires": { + "@babel/core": "^7.8.6", + "@babel/types": "^7.8.6", + "canonical-path": "1.0.0", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.25.0", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "source-map": "^0.6.1", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.2.0", + "yargs": "^17.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-17.2.1.tgz", + "integrity": "sha1-4slbl5ag4ffzv0QnhjtC4EGBkeo=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "@angular/core": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/core/download/@angular/core-12.2.13.tgz?cache=0&sync_timestamp=1637205149537&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40angular%2Fcore%2Fdownload%2F%40angular%2Fcore-12.2.13.tgz", + "integrity": "sha1-/ECsvc7lxYeL0kndwNZDvnJAdsM=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/forms": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/forms/download/@angular/forms-12.2.13.tgz", + "integrity": "sha1-TekOiJkcJ0tdXjqwMAJn4WG6ePI=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/language-service": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/language-service/download/@angular/language-service-12.2.13.tgz", + "integrity": "sha1-MmBFoyj4qWIocDfXqFvoEgB0Qhw=", + "dev": true + }, + "@angular/platform-browser": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/platform-browser/download/@angular/platform-browser-12.2.13.tgz", + "integrity": "sha1-dp+xSLIShmPWtAXSpBAj8s2qHJU=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/platform-browser-dynamic/download/@angular/platform-browser-dynamic-12.2.13.tgz", + "integrity": "sha1-nuYwn1EdpBnV2AoagnmtyAbpLwQ=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/router": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/router/download/@angular/router-12.2.13.tgz", + "integrity": "sha1-5bk5qWdfnUg0/uPnXrjQQO9js7U=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@ant-design/colors": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-5.1.1.tgz", + "integrity": "sha1-gAshhrHifmZDLmfQPtlq8+IdiUA=", + "requires": { + "@ctrl/tinycolor": "^3.3.1" + } + }, + "@ant-design/icons-angular": { + "version": "12.0.3", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-angular/download/@ant-design/icons-angular-12.0.3.tgz", + "integrity": "sha1-Ppmqmc7ruXg4Sikm0G2hnAQ/xL0=", + "requires": { + "@ant-design/colors": "^5.0.0", + "tslib": "^2.0.0" + } + }, + "@antv/adjust": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/@antv/adjust/download/@antv/adjust-0.2.3.tgz", + "integrity": "sha1-w4hKaAwyZMwSXX8qtTmOihwLlAE=", + "requires": { + "@antv/util": "~2.0.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "@antv/attr": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/@antv/attr/download/@antv/attr-0.3.2.tgz", + "integrity": "sha1-5YZrZIcMYvOpwluKYfZUuiv9oFE=", + "requires": { + "@antv/color-util": "^2.0.1", + "@antv/util": "~2.0.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "@antv/color-util": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@antv/color-util/download/@antv/color-util-2.0.6.tgz", + "integrity": "sha1-XhKbuc4/K5MJtSECs9ySlDDMwBY=", + "requires": { + "@antv/util": "^2.0.9", + "tslib": "^2.0.3" + } + }, + "@antv/component": { + "version": "0.8.20", + "resolved": "https://registry.npmmirror.com/@antv/component/download/@antv/component-0.8.20.tgz", + "integrity": "sha1-l/Daoi83aKNd4zzQ2cWP8yzspBc=", + "requires": { + "@antv/color-util": "^2.0.3", + "@antv/dom-util": "~2.0.1", + "@antv/g-base": "0.5.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.7", + "@antv/scale": "~0.3.1", + "@antv/util": "~2.0.0", + "fecha": "~4.2.0", + "tslib": "^2.0.3" + }, + "dependencies": { + "@antv/g-base": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/@antv/g-base/download/@antv/g-base-0.5.6.tgz", + "integrity": "sha1-2W2l+/bF+LBzBydR4V5e7HCzk/w=", + "requires": { + "@antv/event-emitter": "^0.1.1", + "@antv/g-math": "^0.1.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "@types/d3-timer": "^2.0.0", + "d3-ease": "^1.0.5", + "d3-interpolate": "^1.3.2", + "d3-timer": "^1.0.9", + "detect-browser": "^5.1.0", + "tslib": "^2.0.3" + } + } + } + }, + "@antv/coord": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/@antv/coord/download/@antv/coord-0.3.1.tgz", + "integrity": "sha1-mC4mHYoeBqGY61GOp6zCDth1oBk=", + "requires": { + "@antv/matrix-util": "^3.1.0-beta.2", + "@antv/util": "~2.0.12", + "tslib": "^2.1.0" + } + }, + "@antv/data-set": { + "version": "0.11.8", + "resolved": "https://registry.npm.taobao.org/@antv/data-set/download/@antv/data-set-0.11.8.tgz", + "integrity": "sha1-dBPpAGJIY9Wl87RoQf0An8TypP8=", + "requires": { + "@antv/hierarchy": "^0.6.0", + "@antv/util": "^2.0.0", + "d3-composite-projections": "^1.2.0", + "d3-dsv": "^1.0.5", + "d3-geo": "~1.6.4", + "d3-geo-projection": "~2.1.2", + "d3-hexjson": "^1.0.1", + "d3-hierarchy": "^1.1.5", + "d3-sankey": "^0.9.1", + "d3-voronoi": "^1.1.2", + "dagre": "^0.8.2", + "point-at-length": "^1.0.2", + "regression": "^2.0.0", + "simple-statistics": "^6.1.0", + "topojson-client": "^3.0.0", + "wolfy87-eventemitter": "^5.1.0" + } + }, + "@antv/dom-util": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@antv/dom-util/download/@antv/dom-util-2.0.3.tgz", + "integrity": "sha1-y9FYsciODopNhlhxpZabEZBVT/U=", + "requires": { + "tslib": "^2.0.3" + } + }, + "@antv/event-emitter": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/@antv/event-emitter/download/@antv/event-emitter-0.1.2.tgz", + "integrity": "sha1-oXt8uG5tBxiA3Gv7IydW+IYk7Lw=" + }, + "@antv/g-base": { + "version": "0.5.9", + "resolved": "https://registry.npmmirror.com/@antv/g-base/download/@antv/g-base-0.5.9.tgz", + "integrity": "sha1-WNDhHYUVetoUCPvfJPT0aPQOWc0=", + "requires": { + "@antv/event-emitter": "^0.1.1", + "@antv/g-math": "^0.1.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "@types/d3-timer": "^2.0.0", + "d3-ease": "^1.0.5", + "d3-interpolate": "^1.3.2", + "d3-timer": "^1.0.9", + "detect-browser": "^5.1.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-canvas": { + "version": "0.5.12", + "resolved": "https://registry.npmmirror.com/@antv/g-canvas/download/@antv/g-canvas-0.5.12.tgz", + "integrity": "sha1-L8QNztaZTwdPIjQeZdVve71Sdfc=", + "requires": { + "@antv/g-base": "^0.5.3", + "@antv/g-math": "^0.1.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-math": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/@antv/g-math/download/@antv/g-math-0.1.7.tgz", + "integrity": "sha1-bsJ2kmn3zLZ+WBQNVznfdARswE4=", + "requires": { + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0" + } + }, + "@antv/g-svg": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/@antv/g-svg/download/@antv/g-svg-0.5.6.tgz", + "integrity": "sha1-cLL6mAxDGzmtPFtLU+NqHWCVfWU=", + "requires": { + "@antv/g-base": "^0.5.3", + "@antv/g-math": "^0.1.6", + "@antv/util": "~2.0.0", + "detect-browser": "^5.0.0", + "tslib": "^2.0.3" + } + }, + "@antv/g2": { + "version": "4.1.34", + "resolved": "https://registry.npmmirror.com/@antv/g2/download/@antv/g2-4.1.34.tgz", + "integrity": "sha1-aqcaCcJAuSkUvGZvESMQqrwOPhY=", + "requires": { + "@antv/adjust": "^0.2.1", + "@antv/attr": "^0.3.1", + "@antv/color-util": "^2.0.2", + "@antv/component": "^0.8.19", + "@antv/coord": "^0.3.0", + "@antv/dom-util": "^2.0.2", + "@antv/event-emitter": "~0.1.0", + "@antv/g-base": "~0.5.6", + "@antv/g-canvas": "~0.5.10", + "@antv/g-svg": "~0.5.6", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.15", + "@antv/scale": "^0.3.14", + "@antv/util": "~2.0.5", + "tslib": "^2.0.0" + } + }, + "@antv/hierarchy": { + "version": "0.6.8", + "resolved": "https://registry.nlark.com/@antv/hierarchy/download/@antv/hierarchy-0.6.8.tgz", + "integrity": "sha1-t3xJCpwt1toYbLrO4OeIe4wbP6Q=", + "requires": { + "@antv/util": "^2.0.7" + } + }, + "@antv/matrix-util": { + "version": "3.1.0-beta.3", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/download/@antv/matrix-util-3.1.0-beta.3.tgz", + "integrity": "sha1-4GHej6e+BGBaFVxpzFzpCC7t3e4=", + "requires": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.4.3", + "tslib": "^2.0.3" + } + }, + "@antv/path-util": { + "version": "2.0.15", + "resolved": "https://registry.npmmirror.com/@antv/path-util/download/@antv/path-util-2.0.15.tgz", + "integrity": "sha1-pvaR38i3vOW+fwqrtb1hSWQyVjE=", + "requires": { + "@antv/matrix-util": "^3.0.4", + "@antv/util": "^2.0.9", + "tslib": "^2.0.3" + }, + "dependencies": { + "@antv/matrix-util": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/download/@antv/matrix-util-3.0.4.tgz", + "integrity": "sha1-6hPxWKovtLovuNa2tWHsRn6jrCA=", + "requires": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.3.0", + "tslib": "^2.0.3" + } + } + } + }, + "@antv/scale": { + "version": "0.3.14", + "resolved": "https://registry.npmmirror.com/@antv/scale/download/@antv/scale-0.3.14.tgz", + "integrity": "sha1-Bxj4ZRNo5cmNtWEgZRMqjIu83kg=", + "requires": { + "@antv/util": "~2.0.3", + "fecha": "~4.2.0", + "tslib": "^2.0.0" + } + }, + "@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmmirror.com/@antv/util/download/@antv/util-2.0.17.tgz", + "integrity": "sha1-6O9CrKeJKBWyKSafPdEMazx1l6k=", + "requires": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmmirror.com/@assemblyscript/loader/download/@assemblyscript/loader-0.10.1.tgz", + "integrity": "sha1-cORWePBscvouNQ6FU+xKTXK5LgY=", + "dev": true + }, + "@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.0.tgz?cache=0&sync_timestamp=1635561808745&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.16.0.tgz", + "integrity": "sha1-DfyAMJvuyEEeZecGRhxAiwu5tDE=", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.0" + } + }, + "@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "dev": true + }, + "@babel/core": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.14.8.tgz?cache=0&sync_timestamp=1635561804981&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.8.tgz", + "integrity": "sha1-IM33yEtdhtg/rIcQqLxgWnuj8BA=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.8", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.8", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.14.8", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.14.8.tgz?cache=0&sync_timestamp=1635561809489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.14.8.tgz", + "integrity": "sha1-v4b9avls87dDlajKQJUV+JQj4HA=", + "dev": true, + "requires": { + "@babel/types": "^7.14.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.14.5.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha1-e/R47Dtxcm1WqMpXdbBG/CmHnmE=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz", + "integrity": "sha1-8aaGuS2nlAIMJlguuFLprM0NeII=", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.3.tgz?cache=0&sync_timestamp=1636495290322&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.16.3.tgz", + "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.0.tgz?cache=0&sync_timestamp=1635561800206&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.16.0.tgz", + "integrity": "sha1-CQ1NFms0KgOp/sN+9P1a65x8aks=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.0.tgz", + "integrity": "sha1-BrI0jON/zMT14Y3NjXUFPyp8RP8=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "regexpu-core": "^4.7.1" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.4.tgz", + "integrity": "sha1-iGeu150+psreQPgB77esXGaRaxA=", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.0.tgz?cache=0&sync_timestamp=1635567805771&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.16.0.tgz", + "integrity": "sha1-dTAXM3oV9G+cCfZ0z/EM7pudd3g=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.0.tgz?cache=0&sync_timestamp=1635561947831&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.16.0.tgz", + "integrity": "sha1-t90Hl9ALv+5PB+nE6lsOMMi7FIE=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-get-function-arity": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.0.tgz?cache=0&sync_timestamp=1635561948623&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.16.0.tgz", + "integrity": "sha1-AIjHSGspqctdlIsaHeRttm4InPo=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.0.tgz?cache=0&sync_timestamp=1635561801635&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.16.0.tgz", + "integrity": "sha1-TJAjwvHe9+KP9G/B2802o5vqqBo=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.0.tgz?cache=0&sync_timestamp=1635561802435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.16.0.tgz", + "integrity": "sha1-KShwQO/Rl8d2Nu91GI6B2ovM1aQ=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.0.tgz?cache=0&sync_timestamp=1635561800759&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.16.0.tgz", + "integrity": "sha1-kFOOYLZy7PG0SPX09UM9N+eaPsM=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.0.tgz?cache=0&sync_timestamp=1635561798763&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.16.0.tgz", + "integrity": "sha1-HIKo3UyzRXdQLr0pCWmbGUw+m7U=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.0.tgz?cache=0&sync_timestamp=1635561802051&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha1-zs2xRdcMVAlrFWT46fEM19GTszg=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.4.tgz", + "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.0.tgz?cache=0&sync_timestamp=1635561801283&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.16.0.tgz", + "integrity": "sha1-cwVejTz5vLqN21XK2T/tyGD2jxc=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.0.tgz?cache=0&sync_timestamp=1635561801108&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.16.0.tgz", + "integrity": "sha1-IdaidiDjg+N1NM9sELugGab5BRc=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.0.tgz?cache=0&sync_timestamp=1635561801459&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.16.0.tgz", + "integrity": "sha1-KWcvQ2Y+k23zcKrrIr7ds7rsdDg=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz", + "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.0.tgz", + "integrity": "sha1-s88xivzndN/nW4Z2fNbWjzSC5Xw=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helpers": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.3.tgz?cache=0&sync_timestamp=1636495281937&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.16.3.tgz", + "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "dev": true, + "requires": { + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.3", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.0.tgz?cache=0&sync_timestamp=1635562526459&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.16.0.tgz", + "integrity": "sha1-bOsysspLj182H7f9gh4/3fShclo=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.16.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.4.tgz", + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", + "integrity": "sha1-NYly6qsAb16wgmGDsMk8vK8T4eI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha1-eEpIw9jtBz9lrc8wtXvL9sgRms4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.0.tgz", + "integrity": "sha1-wClhgmfd68coD6KG4PjKKieKLRo=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.0.tgz", + "integrity": "sha1-UpaULFZNgUTIPuo0fQqooLiRcOc=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.0.tgz", + "integrity": "sha1-eD7KYdUFJiAvmylglUU5d+iGWfE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.0.tgz", + "integrity": "sha1-nAHe5Auda4R7ZWqvSjl2pxdA8iI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.0.tgz", + "integrity": "sha1-yuNale0dKn+inE3EFUC4SnLpqyU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.0.tgz", + "integrity": "sha1-pxG4zrP/3dPviNOknobb08x9s/0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz", + "integrity": "sha1-ROHM4I/iQnSCz0RqkbtFFSjtBZY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.0.tgz", + "integrity": "sha1-XUGOT7v4ubfQMSXTpScwQzo3NzQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.0.tgz", + "integrity": "sha1-X7MvbZJNbmcSgQNipg4SomCYcuY=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.0.tgz", + "integrity": "sha1-WRAIWBGrTCiwDW6/+kqwJ00eXxY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.0.tgz", + "integrity": "sha1-VtvDlwglaDYI6e+1XqgsKi1sjcA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.0.tgz", + "integrity": "sha1-tNr7nHF+QwHFd2sw0IDWODyJr/Y=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.0.tgz", + "integrity": "sha1-aek1ssXHnSSIES2IbwxOJ5D+528=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.0.tgz", + "integrity": "sha1-iQSC38XqN45C4Zpx5wlyjKvxhhI=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.0.tgz", + "integrity": "sha1-lRcG+LRJyDTtB71HTAkkyUS5Wo4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.0.tgz", + "integrity": "sha1-xhh2MjOtAoR4BavKxMNFzp3nFF0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.0.tgz", + "integrity": "sha1-vPQz+0gv6MPTtOimaxxKjnfTfBY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.0.tgz", + "integrity": "sha1-VM9f8LIkLGVz11PNS/xwd6iygvU=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.0.tgz", + "integrity": "sha1-4MOFUH0h4bCwdtZr7W1SMbhRELc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.0.tgz", + "integrity": "sha1-rT1+dFhK1epOrbHmZCFGxZDe4zw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.0.tgz", + "integrity": "sha1-ULqwDBCEthYtClioGAMc9XeY4G8=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.0.tgz", + "integrity": "sha1-i8LiGBPj6J5eW/O2CqX8RYV1oXY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.0.tgz", + "integrity": "sha1-oYDNKIHjUzzvnTkB5I2tD77/S+Q=", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.0.tgz", + "integrity": "sha1-96us7RVSYOJGE1m7x8ckispea9I=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.0.tgz", + "integrity": "sha1-AuNpnChMYmIjZZn3UQZcXV8fQA4=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.0.tgz", + "integrity": "sha1-eXEeZw/86zG9KYIp1Q82IfeYDKw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.0.tgz", + "integrity": "sha1-UlG0zOAer4MUQD0hrtsmnXn15ks=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.0.tgz", + "integrity": "sha1-CavUHhjc9P1HnFmMHO97056xM34=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.0.tgz", + "integrity": "sha1-rdWOY4yN3Eh1vZqey1xZRhP2ySI=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.16.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.0.tgz", + "integrity": "sha1-qSzyQK/rYF9MoWZwRTAkQl5CHqQ=", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.0.tgz", + "integrity": "sha1-GV8mwq1tajkbcIgO/84YzmJeBqc=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.0.tgz", + "integrity": "sha1-09thzF1bl5hlWZZ81eqD5cMglso=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.0.tgz", + "integrity": "sha1-r4I6tXb3UiFaSZN3eaQcplglqzU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.0.tgz", + "integrity": "sha1-+yDVgG3GSRoGKWrBTqjo1v7dpys=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.3.tgz?cache=0&sync_timestamp=1636495301748&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.16.3.tgz", + "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.0.tgz", + "integrity": "sha1-qVxVIYmpagAFn2d23E4A42kMeNE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.0.tgz", + "integrity": "sha1-6u5CLISwIy0Drqfbmcl97q9hJaQ=", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.0.tgz", + "integrity": "sha1-//S53LGeEmGTlL2hctFPLQTAN5w=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha1-MEkdrUnGBZ+Pj6XuiJagCJ6YdSM=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.0.tgz", + "integrity": "sha1-CQNy4xQffMMk7XCz2vU3nfL6OE0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.0.tgz", + "integrity": "sha1-0hygmbvVOrMHqGIeAZp70PQM3Ps=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.0.tgz", + "integrity": "sha1-w16jGgLYa+SF9qpRAYS2d6kXOP0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.0.tgz", + "integrity": "sha1-qOztOo57ji1A7E7EVIpFkSYw0wI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.0.tgz", + "integrity": "sha1-ixmiRMb4ydZo3Kam91Stbq0RKPI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.0.tgz", + "integrity": "sha1-GjVAZLTEVmOjIzT0b6DPYQC1sfM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.0.tgz", + "integrity": "sha1-KTuAlQF3yMha7eh87ygCWfuZVAI=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.14.8.tgz", + "integrity": "sha1-JUlC9cqAzKvPuyqfUkx0vKV0AFs=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.8", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz", + "integrity": "sha1-75Odbn8miCfhhBY43G/5VRXhFdk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.14.8.tgz?cache=0&sync_timestamp=1636495277831&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.8.tgz", + "integrity": "sha1-cRmlb0IQGIUmlCkLn5FICXORtEY=", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.16.3.tgz?cache=0&sync_timestamp=1636495298551&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fruntime-corejs3%2Fdownload%2F%40babel%2Fruntime-corejs3-7.16.3.tgz", + "integrity": "sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ==", + "dev": true, + "requires": { + "core-js-pure": "^3.19.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.14.5.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.14.5.tgz", + "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.3.tgz?cache=0&sync_timestamp=1636495280926&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.16.3.tgz", + "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.3", + "@babel/types": "^7.16.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.0.tgz?cache=0&sync_timestamp=1635561809489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.16.0.tgz", + "integrity": "sha1-1A89HVB15i01ALzLZ/PaqKlSZbI=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.0.tgz?cache=0&sync_timestamp=1635561799958&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.16.0.tgz", + "integrity": "sha1-2zsxOAT5aq3Qt3bEgj4SetZyibo=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz", + "integrity": "sha1-rUldxBsS511YjG24uYNPCPoTHrc=", + "dev": true + }, + "@ctrl/tinycolor": { + "version": "3.4.0", + "resolved": "https://registry.nlark.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz", + "integrity": "sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8=" + }, + "@delon/abc": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/abc/download/@delon/abc-12.4.2.tgz", + "integrity": "sha512-K38WW6n7Kp5hYNrPoDfblJcPb5XF4apvbHlR76FLtkCjSpvNzRIKXi0DJJzmRchBOSHPvUYFk5EUGbgQSDe75w==", + "requires": { + "@delon/acl": "^12.4.2", + "@delon/theme": "^12.4.2", + "@delon/util": "^12.4.2", + "file-saver": "^2.0.5", + "isutf8": "^3.1.1", + "jszip": "^3.7.1", + "ngx-countdown": "^12.0.1", + "tslib": "^2.2.0", + "xlsx": "^0.17.1" + } + }, + "@delon/acl": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/acl/download/@delon/acl-12.4.2.tgz", + "integrity": "sha512-EPGwYZjZV05xZR9tRg5i1G00Zyp/VH8nO3H+Kze8fCrQsfc5tAxYXAFzpV3s003rzYQrW1mWLEge73IDVjIs1Q==", + "requires": { + "@delon/util": "^12.4.2", + "tslib": "^2.2.0" + } + }, + "@delon/auth": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/auth/download/@delon/auth-12.4.2.tgz", + "integrity": "sha512-2g+rQXrebAn5qDjM++GloPqRxVgxfy+kFcRKnpC8nOwoyIb9vDDf0sqcFUioLqugmJ7d7fGdROWCBuBWB5NMJQ==", + "requires": { + "@delon/util": "^12.4.2", + "tslib": "^2.2.0" + } + }, + "@delon/cache": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/cache/download/@delon/cache-12.4.2.tgz", + "integrity": "sha512-n9iu6lg/jdaDqRN1J3CQNz9heigH/xrHQYsHkjOWbwASA6rssP12ThvIvcuEClhKpxQrdCx6rGdg26TP1JSOvA==", + "requires": { + "@delon/util": "^12.4.2", + "tslib": "^2.2.0" + } + }, + "@delon/chart": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/chart/download/@delon/chart-12.4.2.tgz", + "integrity": "sha512-Z4lzKqEJfhePFWPSL0s2DUedOLtNj/2kcAvBqTtGW+VAzs7bYC+izIrHFNR03Qr0+DJtFeZk6kuuD2jhpfszzQ==", + "requires": { + "@antv/data-set": "^0.11.8", + "@antv/g2": "^4.1.24", + "@delon/theme": "^12.4.2", + "@delon/util": "^12.4.2", + "echarts": "^5.1.2", + "tslib": "^2.2.0" + } + }, + "@delon/form": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/form/download/@delon/form-12.4.2.tgz", + "integrity": "sha512-8/YCWqBhAdI8jGpfMrwgLDvSLtmXar9Y6iRq7eHAgD1PhF12vB4x0tIZtwU2AVWp7VOCC5ySKX003N2LYQkHTw==", + "requires": { + "@delon/acl": "^12.4.2", + "@delon/theme": "^12.4.2", + "@delon/util": "^12.4.2", + "ajv": "^8.6.2", + "ajv-formats": "^2.1.1", + "tslib": "^2.2.0" + } + }, + "@delon/mock": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/mock/download/@delon/mock-12.4.2.tgz", + "integrity": "sha512-DF1cPvajHgg09dlvzsbjWGrs3+9imMZgvytWky7K2UNhWc8Yr1240Qhq1vyDNiJMp0ZfMCqTPk9B9PBH+kxp3Q==", + "requires": { + "@delon/util": "^12.4.2", + "@types/mockjs": "^1.0.4", + "mockjs": "^1.1.0", + "tslib": "^2.2.0" + } + }, + "@delon/testing": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/testing/download/@delon/testing-12.4.2.tgz", + "integrity": "sha512-3LiUmHZMZfH/EfiYC8D1OJrHhvyhqD5n1RWQ7Fhqn8RSk7lODRU9dehiVWzJXutHkPVjktdsiOGJvJSq7wfPaw==", + "dev": true, + "requires": { + "tslib": "^2.2.0" + } + }, + "@delon/theme": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/theme/download/@delon/theme-12.4.2.tgz", + "integrity": "sha512-SV2TnUMv1rHWEJ2w9SnFCryv5HHt2Bh0nL/YpqkFw3XzB/FaOXFvKsL/iM6G/vwC5/ms6E/81STSN6sVkPEfyQ==", + "requires": { + "@delon/acl": "^12.4.2", + "@delon/util": "^12.4.2", + "ng-zorro-antd": "^12.0.1", + "tslib": "^2.2.0" + } + }, + "@delon/util": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/util/download/@delon/util-12.4.2.tgz", + "integrity": "sha512-dIF2Gkgj/XkFaAe4MGzSM5M+fyVR3BGEDfragADb3/2DiMPqMiiUPgPVi3e/cqdRuBWdkj2yMtIbI3l5aM3AeQ==", + "requires": { + "extend": "^3.0.2", + "tslib": "^2.2.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz", + "integrity": "sha1-kEIPn5xtOYfxdqGafY52QnGi9V0=", + "dev": true + }, + "@es-joy/jsdoccomment": { + "version": "0.10.8", + "resolved": "https://registry.npmmirror.com/@es-joy/jsdoccomment/download/@es-joy/jsdoccomment-0.10.8.tgz", + "integrity": "sha1-sxUoh+JSRkEO1OpWmlWSbsE7KwU=", + "dev": true, + "requires": { + "comment-parser": "1.2.4", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "1.1.1" + }, + "dependencies": { + "jsdoc-type-pratt-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/jsdoc-type-pratt-parser/download/jsdoc-type-pratt-parser-1.1.1.tgz", + "integrity": "sha1-EP5eQJujjeIqSLVVWYlVom/wFg8=", + "dev": true + } + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz", + "integrity": "sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", + "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.20.2.tgz", + "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", + "dev": true + } + } + }, + "@exodus/schemasafe": { + "version": "1.0.0-rc.6", + "resolved": "https://registry.npmmirror.com/@exodus/schemasafe/download/@exodus/schemasafe-1.0.0-rc.6.tgz", + "integrity": "sha1-eYX2gVZM/0/667WJbrS+IK86rno=", + "dev": true + }, + "@fullcalendar/common": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/common/download/@fullcalendar/common-5.10.1.tgz", + "integrity": "sha1-oBmVF0OFInekCV5Tb9dxb2+Fuao=", + "requires": { + "tslib": "^2.1.0" + } + }, + "@fullcalendar/core": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/core/download/@fullcalendar/core-5.10.1.tgz", + "integrity": "sha1-BcdlPlAEFJpjvLA+nciwSRhspQs=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "preact": "^10.0.5", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/daygrid": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/daygrid/download/@fullcalendar/daygrid-5.10.1.tgz", + "integrity": "sha1-ve5PWDZP2rYxsqv4tWCUq1d28gM=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/interaction": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/interaction/download/@fullcalendar/interaction-5.10.1.tgz", + "integrity": "sha1-36dLXFC71WCOtQrqtuV5yNIMs2c=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/list": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/list/download/@fullcalendar/list-5.10.1.tgz", + "integrity": "sha1-hQWq4JhFuC9b22JRvaD51jQu+dk=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/timegrid": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/timegrid/download/@fullcalendar/timegrid-5.10.1.tgz", + "integrity": "sha1-+n/rkJv1merBRmuecMDVbODRrvw=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "@fullcalendar/daygrid": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz", + "integrity": "sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40humanwhocodes%2Fobject-schema%2Fdownload%2F%40humanwhocodes%2Fobject-schema-1.2.1.tgz", + "integrity": "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=", + "dev": true + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/@istanbuljs/schema/download/@istanbuljs/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true + }, + "@jridgewell/resolve-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/download/@jridgewell/resolve-uri-1.0.0.tgz", + "integrity": "sha1-P99XmPC0npAVWJb2KR3xhurAbIM=", + "dev": true + }, + "@jsdevtools/coverage-istanbul-loader": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@jsdevtools/coverage-istanbul-loader/download/@jsdevtools/coverage-istanbul-loader-3.0.5.tgz", + "integrity": "sha1-KkvGXQJx341ENZgttK812BdU7iY=", + "dev": true, + "requires": { + "convert-source-map": "^1.7.0", + "istanbul-lib-instrument": "^4.0.3", + "loader-utils": "^2.0.0", + "merge-source-map": "^1.1.0", + "schema-utils": "^2.7.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "dependencies": { + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + } + } + }, + "@ng-util/lazy": { + "version": "11.2.0", + "resolved": "https://registry.npmmirror.com/@ng-util/lazy/download/@ng-util/lazy-11.2.0.tgz", + "integrity": "sha1-bASRAM2HQyIdK05rpo8OWaRORqo=", + "requires": { + "tslib": "^2.0.0" + } + }, + "@ng-util/util": { + "version": "11.2.0", + "resolved": "https://registry.npmmirror.com/@ng-util/util/download/@ng-util/util-11.2.0.tgz", + "integrity": "sha1-cSnnS9aO51W82M1330b2MEKlY4g=", + "requires": { + "tslib": "^2.0.0" + } + }, + "@ngtools/webpack": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@ngtools/webpack/download/@ngtools/webpack-12.2.13.tgz", + "integrity": "sha1-RNcR7fo50XWi1lWqXG+ZaN/tzDU=", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz?cache=0&sync_timestamp=1622792655677&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.5.tgz", + "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz", + "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625795692378&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz", + "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/@npmcli/git/download/@npmcli/git-2.1.0.tgz", + "integrity": "sha1-L7134UdTAkfTfzJZMNRXs+volPY=", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/@npmcli/installed-package-contents/download/@npmcli/installed-package-contents-1.0.7.tgz", + "integrity": "sha1-q3QIxhR5EblwqKviYc5RIjKj9Po=", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@npmcli/move-file/download/@npmcli/move-file-1.1.2.tgz", + "integrity": "sha1-GoLD43L3yuklPrZtclQ9a4aFxnQ=", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@npmcli/node-gyp/download/@npmcli/node-gyp-1.0.3.tgz", + "integrity": "sha1-qRLmN0GP/F8ts3XpO4WDdpGkOjM=", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/@npmcli/promise-spawn/download/@npmcli/promise-spawn-1.3.2.tgz", + "integrity": "sha1-QtTlao6SdPuhgNq8CupuOPKSdPU=", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@npmcli/run-script/download/@npmcli/run-script-1.8.6.tgz", + "integrity": "sha1-GDFIAqZmCw1Lqkw6/n8a052MKLc=", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + } + }, + "@nrwl/devkit": { + "version": "12.10.0", + "resolved": "https://registry.npmmirror.com/@nrwl/devkit/download/@nrwl/devkit-12.10.0.tgz", + "integrity": "sha1-z0od+xA2ISGFVI1oKWrCbkmKQcQ=", + "dev": true, + "requires": { + "@nrwl/tao": "12.10.0", + "ejs": "^3.1.5", + "ignore": "^5.0.4", + "rxjs": "^6.5.4", + "semver": "7.3.4", + "tslib": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@nrwl/tao": { + "version": "12.10.0", + "resolved": "https://registry.npmmirror.com/@nrwl/tao/download/@nrwl/tao-12.10.0.tgz", + "integrity": "sha1-KM+72mb18QpJF98OcLlNBDNOFig=", + "dev": true, + "requires": { + "chalk": "4.1.0", + "enquirer": "~2.3.6", + "fs-extra": "^9.1.0", + "jsonc-parser": "3.0.0", + "nx": "12.10.0", + "rxjs": "^6.5.4", + "rxjs-for-await": "0.0.2", + "semver": "7.3.4", + "tmp": "~0.2.1", + "tslib": "^2.0.0", + "yargs-parser": "20.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "yargs-parser": { + "version": "20.0.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.0.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.0.0.tgz", + "integrity": "sha1-xlodqql3rWPOvdUhWRR7eJpOGak=", + "dev": true + } + } + }, + "@schematics/angular": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@schematics/angular/download/@schematics/angular-12.2.13.tgz", + "integrity": "sha1-W/PntpmkLX/X96oSu+RTTmcecgE=", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.13", + "@angular-devkit/schematics": "12.2.13", + "jsonc-parser": "3.0.0" + } + }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.2", + "resolved": "https://registry.npm.taobao.org/@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz?cache=0&sync_timestamp=1599097529607&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40stylelint%2Fpostcss-css-in-js%2Fdownload%2F%40stylelint%2Fpostcss-css-in-js-0.37.2.tgz", + "integrity": "sha1-flqErRgfQjSiSAgDQipHuHSa89I=", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmmirror.com/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz", + "integrity": "sha1-ClQMRpL43N/BPI41LBfnv+4rs5E=", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, + "@swimlane/ngx-charts": { + "version": "18.0.1", + "resolved": "https://registry.npmmirror.com/@swimlane/ngx-charts/download/@swimlane/ngx-charts-18.0.1.tgz", + "integrity": "sha1-hMmZbVpmWQ2RHI4hj/snYYgMIs8=", + "requires": { + "@types/d3-shape": "^2.0.0", + "d3-array": "^2.9.1", + "d3-brush": "^2.1.0", + "d3-color": "^2.0.0", + "d3-format": "^2.0.0", + "d3-hierarchy": "^2.0.0", + "d3-interpolate": "^2.0.1", + "d3-scale": "^3.2.3", + "d3-selection": "^2.0.0", + "d3-shape": "^2.0.0", + "d3-time-format": "^3.0.0", + "d3-transition": "^2.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "d3-color": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-color/download/d3-color-2.0.0.tgz?cache=0&sync_timestamp=1622917832534&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-color%2Fdownload%2Fd3-color-2.0.0.tgz", + "integrity": "sha1-jWJcq0Ltm49gGhdgo4n36pGJ1i4=" + }, + "d3-hierarchy": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-hierarchy/download/d3-hierarchy-2.0.0.tgz", + "integrity": "sha1-2riKWMo+ehvGyrOQ6JZn/MbSAhg=" + }, + "d3-interpolate": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/d3-interpolate/download/d3-interpolate-2.0.1.tgz", + "integrity": "sha1-mL5JnPuKO5TU/2FpAFAaZKvJEWM=", + "requires": { + "d3-color": "1 - 2" + } + }, + "d3-shape": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/d3-shape/download/d3-shape-2.1.0.tgz?cache=0&sync_timestamp=1622917833478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-shape%2Fdownload%2Fd3-shape-2.1.0.tgz", + "integrity": "sha1-O2qCzK+8Rd5VtX/PlWxYTe07Zm8=", + "requires": { + "d3-path": "1 - 2" + } + } + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz", + "integrity": "sha1-zLkURTYBeaBOf+av94wA/8Hur4I=", + "dev": true + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/@trysound/sax/download/@trysound/sax-0.2.0.tgz", + "integrity": "sha1-zMqrdYr1Z2Hre/N69vA/Mm3XmK0=", + "dev": true + }, + "@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmmirror.com/@types/component-emitter/download/@types/component-emitter-1.2.11.tgz", + "integrity": "sha1-UNR9QrNHJTgXo5cJ/vA85moQhQY=", + "dev": true + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@types/cookie/download/@types/cookie-0.4.1.tgz", + "integrity": "sha1-v9AsHyIkVnZ2wVRRmfh8OoYdh40=", + "dev": true + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmmirror.com/@types/cors/download/@types/cors-2.8.12.tgz", + "integrity": "sha1-ayxRCnrXA56Y57jT1lmPQ1nlwIA=", + "dev": true + }, + "@types/d3-path": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/@types/d3-path/download/@types/d3-path-2.0.1.tgz", + "integrity": "sha1-ygPfqLlNit2XrQzZfpbiAGtHY8s=" + }, + "@types/d3-shape": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/@types/d3-shape/download/@types/d3-shape-2.1.3.tgz", + "integrity": "sha1-NdOXueaHq6oN6CNDslC5iXuMrPM=", + "requires": { + "@types/d3-path": "^2" + } + }, + "@types/d3-timer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@types/d3-timer/download/@types/d3-timer-2.0.1.tgz", + "integrity": "sha1-/7ZiDSkGJPNyaqNiwMiktEyNcgA=" + }, + "@types/eslint": { + "version": "8.2.0", + "resolved": "https://registry.npmmirror.com/@types/eslint/download/@types/eslint-8.2.0.tgz", + "integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/download/@types/eslint-scope-3.7.1.tgz", + "integrity": "sha1-jcOQp7T53Z8ShGKe/OmC5BYSEW4=", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz", + "integrity": "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=", + "dev": true + }, + "@types/file-saver": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@types/file-saver/download/@types/file-saver-2.0.4.tgz", + "integrity": "sha512-sPZYQEIF/SOnLAvaz9lTuydniP+afBMtElRTdYkeV1QtEgvtJ7qolCPjly6O32QI8CbEmP5O/fztMXEDWfEcrg==", + "dev": true + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz?cache=0&sync_timestamp=1637267477186&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.2.0.tgz", + "integrity": "sha1-vBtb86qS8lvV3TnzXFc2G9zlsus=", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/jasmine": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@types/jasmine/download/@types/jasmine-3.8.2.tgz", + "integrity": "sha1-J6sKqsKVgby95XdOGEP5Dfl3B44=", + "dev": true + }, + "@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/@types/jasminewd2/download/@types/jasminewd2-2.0.10.tgz", + "integrity": "sha1-rjHCN6pkIb3jDxBYsdIPRXflREM=", + "dev": true, + "requires": { + "@types/jasmine": "*" + } + }, + "@types/js-base64": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/@types/js-base64/download/@types/js-base64-3.3.1.tgz", + "integrity": "sha1-NsLW3BJid+oopNBZnQyvv1R7UeY=", + "dev": true, + "requires": { + "js-base64": "*" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz", + "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/@types/mdast/download/@types/mdast-3.0.10.tgz", + "integrity": "sha1-RyQkSoKkWYiEy76bz9c9/5J+6K8=", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz", + "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@types/minimist/download/@types/minimist-1.2.2.tgz", + "integrity": "sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w=", + "dev": true + }, + "@types/mockjs": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@types/mockjs/download/@types/mockjs-1.0.4.tgz", + "integrity": "sha1-5waVHV4ztPCku3Ox+LEk4m8IHeA=" + }, + "@types/node": { + "version": "12.20.37", + "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-12.20.37.tgz", + "integrity": "sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz", + "integrity": "sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1637284065529&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz", + "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=", + "dev": true + }, + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmmirror.com/@types/q/download/@types/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "3.0.19", + "resolved": "https://registry.npmmirror.com/@types/selenium-webdriver/download/@types/selenium-webdriver-3.0.19.tgz", + "integrity": "sha1-KOzt528VsTVTtOhgdNTPmgu+ScQ=", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz?cache=0&sync_timestamp=1637284095686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fsource-list-map%2Fdownload%2F%40types%2Fsource-list-map-0.1.2.tgz", + "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=", + "dev": true + }, + "@types/swagger-schema-official": { + "version": "2.0.21", + "resolved": "https://registry.nlark.com/@types/swagger-schema-official/download/@types/swagger-schema-official-2.0.21.tgz", + "integrity": "sha1-VoEqhtzVe6YOXFFwXulqKy3Js3Q=", + "dev": true + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/unist/download/@types/unist-2.0.6.tgz?cache=0&sync_timestamp=1637284126736&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.6.tgz", + "integrity": "sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0=", + "dev": true + }, + "@types/vfile": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/@types/vfile/download/@types/vfile-3.0.2.tgz", + "integrity": "sha1-GcGM0jLfEc5vpq2AJZvIbDZrCbk=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/unist": "*", + "@types/vfile-message": "*" + } + }, + "@types/vfile-message": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/@types/vfile-message/download/@types/vfile-message-2.0.0.tgz", + "integrity": "sha1-aQ5Grw/fwfn6rgDNBJzIiJV5J9U=", + "dev": true, + "requires": { + "vfile-message": "*" + } + }, + "@types/webpack-sources": { + "version": "0.1.9", + "resolved": "https://registry.nlark.com/@types/webpack-sources/download/@types/webpack-sources-0.1.9.tgz", + "integrity": "sha1-2mmwbrNPZDLmZYrLWmiTxV2YOSA=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.29.3.tgz", + "integrity": "sha1-lcuAKai9i9nH9KuVB0p8shFa3vo=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/scope-manager": "4.29.3", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.29.3.tgz", + "integrity": "sha1-UuQ3ponM3vc+g8UQazQkCnBvFeE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/typescript-estree": "4.29.3", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.29.3.tgz", + "integrity": "sha1-SX3sZvOiLkWfbjBs8UAh5A7Ibhk=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3" + } + }, + "@typescript-eslint/types": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.29.3.tgz", + "integrity": "sha1-15gMSa72Q9CviVTJ8U9la3/RYBc=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.29.3.tgz", + "integrity": "sha1-G6+tYQAVxN7TXIWnC2Ii+q1Zi0A=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.29.3.tgz", + "integrity": "sha1-xpF2CgC9hr+DINKpCpPYbTIvGr8=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.28.2.tgz", + "integrity": "sha1-Tr3sBqEIiOkybh1R2BrVKjYb0LA=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.29.3.tgz", + "integrity": "sha1-KsJVNfNMDpj1DA5rKMZ5wjV9RfI=", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/typescript-estree": "4.29.3", + "debug": "^4.3.1" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.29.3.tgz", + "integrity": "sha1-SX3sZvOiLkWfbjBs8UAh5A7Ibhk=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3" + } + }, + "@typescript-eslint/types": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.29.3.tgz", + "integrity": "sha1-15gMSa72Q9CviVTJ8U9la3/RYBc=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.29.3.tgz", + "integrity": "sha1-G6+tYQAVxN7TXIWnC2Ii+q1Zi0A=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.29.3.tgz", + "integrity": "sha1-xpF2CgC9hr+DINKpCpPYbTIvGr8=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.2.tgz", + "integrity": "sha1-RR3OkDA6POKDdQERSV00ycIE5RA=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + } + }, + "@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.2.tgz", + "integrity": "sha1-5rniNODppmxNJbq4gWYekUeCI7U=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.2.tgz", + "integrity": "sha1-aAEpsqKFKJoV58YQjIRzmt86eYw=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.2.tgz", + "integrity": "sha1-v1akAIV7totZsxHm0KX771w7UTA=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz", + "integrity": "sha1-K/12fq4aaZb0Mv9+jX/HVnnAtqc=", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.11.1.tgz?cache=0&sync_timestamp=1625473945010&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.11.1.tgz", + "integrity": "sha1-9sYacF8P16auyqToGY8j2dwXnk8=", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.11.1.tgz?cache=0&sync_timestamp=1625473943740&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.11.1.tgz", + "integrity": "sha1-GmMZLYeI5cASgAump6RscFKI/RY=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz", + "integrity": "sha1-gyqQDrREiEzemnytRn+BUA9eWrU=", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz", + "integrity": "sha1-ZNgdohn7u6HjvRv8dPboxOEKYq4=", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha1-8ygkHkHnsZnQsgwY6IQpxEMyleE=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.11.1.tgz?cache=0&sync_timestamp=1625473968654&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.11.1.tgz", + "integrity": "sha1-Ie4GWntjXzGec48N1zv72igcCXo=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.11.1.tgz?cache=0&sync_timestamp=1625473943048&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.11.1.tgz", + "integrity": "sha1-ljkp6bvQVwnn4SJDoJkYCBKZJhQ=", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz?cache=0&sync_timestamp=1625473945849&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.11.1.tgz", + "integrity": "sha1-zoFLRVdOk9drrh+yZEq5zdlSeqU=", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.11.1.tgz?cache=0&sync_timestamp=1625473943764&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.11.1.tgz", + "integrity": "sha1-0fi3ZDaefG5rrjUOhU3smlnwo/8=", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz", + "integrity": "sha1-rSBuv0v5WgWM6YgKjAksXeyBk9Y=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz", + "integrity": "sha1-hsXqMEhJdZt9iMR6MvTwOa48j3Y=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.11.1.tgz", + "integrity": "sha1-ZXtMIgL0zzs0X4pMZGHIwkGJhfI=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz", + "integrity": "sha1-hspzRTT0F+m9PGfHocddi+QfsZk=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz", + "integrity": "sha1-0Mc77ajuxUJvEK6O9VzuXnCEwvA=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/@yarnpkg/lockfile/download/@yarnpkg/lockfile-1.1.0.tgz", + "integrity": "sha1-53qX+9NFt22DJF7c0X05OxtB+zE=", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/abab/download/abab-2.0.5.tgz", + "integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/abbrev/download/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "dev": true + }, + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/abs-svg-path/download/abs-svg-path-0.1.1.tgz", + "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.nlark.com/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-8.6.0.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/download/acorn-import-assertions-1.8.0.tgz?cache=0&sync_timestamp=1633349660084&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn-import-assertions%2Fdownload%2Facorn-import-assertions-1.8.0.tgz", + "integrity": "sha1-uitZOc5iwjjbbZPYHJsRGym4Vek=", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz", + "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", + "dev": true + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/adjust-sourcemap-loader/download/adjust-sourcemap-loader-4.0.0.tgz?cache=0&sync_timestamp=1603701108010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fadjust-sourcemap-loader%2Fdownload%2Fadjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha1-/EoP0ID30QRx8wpzIPJVYK3ijJk=", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/adler-32/download/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmmirror.com/adm-zip/download/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.nlark.com/agent-base/download/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-4.1.4.tgz?cache=0&sync_timestamp=1612490497760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagentkeepalive%2Fdownload%2Fagentkeepalive-4.1.4.tgz", + "integrity": "sha1-2SgCikhiyxFxjlUieHLoQqRMlFs=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/aggregate-error/download/aggregate-error-3.1.0.tgz?cache=0&sync_timestamp=1622604530325&other_urls=https%3A%2F%2Fregistry.nlark.com%2Faggregate-error%2Fdownload%2Faggregate-error-3.1.0.tgz", + "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/download/ajv-formats-2.1.1.tgz", + "integrity": "sha1-bmaUAGWet0lzu/LjMycYCgmWtSA=", + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "angular-baidu-maps": { + "version": "12.0.0", + "resolved": "https://registry.nlark.com/angular-baidu-maps/download/angular-baidu-maps-12.0.0.tgz", + "integrity": "sha1-I/Sn52ggJcLJRnGdIR6eNmt6sXQ=", + "requires": { + "tslib": "^2.1.0" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz", + "integrity": "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz?cache=0&sync_timestamp=1618847144938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.2.tgz", + "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.nlark.com/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/are-we-there-yet/download/are-we-there-yet-1.1.7.tgz", + "integrity": "sha1-sVR0qTKtq0/4pQ2a36fk6SbyEUY=", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1629166537485&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farg%2Fdownload%2Farg-4.1.3.tgz", + "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/aria-query/download/aria-query-4.2.2.tgz?cache=0&sync_timestamp=1633308188641&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faria-query%2Fdownload%2Faria-query-4.2.2.tgz", + "integrity": "sha1-DSymyazrVriXfp/tau1+FbvS+Ds=", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://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": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz?cache=0&sync_timestamp=1618846805394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farr-flatten%2Fdownload%2Farr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-find-index/download/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/array-flatten/download/array-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", + "dev": true + }, + "array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz?cache=0&sync_timestamp=1633411556939&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farray-includes%2Fdownload%2Farray-includes-3.1.4.tgz", + "integrity": "sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/array-union/download/array-union-2.1.0.tgz", + "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1622605321175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz", + "integrity": "sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmmirror.com/asn1/download/asn1-0.2.6.tgz?cache=0&sync_timestamp=1635986760581&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasn1%2Fdownload%2Fasn1-0.2.6.tgz", + "integrity": "sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0=", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/astral-regex/download/astral-regex-2.0.0.tgz", + "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz", + "integrity": "sha1-YCzUtG6EStTv/JKoARo8RuAjjcI=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.8.tgz?cache=0&sync_timestamp=1635421245353&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.8.tgz", + "integrity": "sha1-/UvUWVOF+m8GWZ3nSaTV96R0lXo=", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101244098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", + "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", + "dev": true + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmmirror.com/axios/download/axios-0.21.4.tgz?cache=0&sync_timestamp=1635213960429&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faxios%2Fdownload%2Faxios-0.21.4.tgz", + "integrity": "sha1-xnuQ3AVo5cHPKwuFjEO6KOLtpXU=", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/axobject-query/download/axobject-query-2.2.0.tgz?cache=0&sync_timestamp=1633307441530&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faxobject-query%2Fdownload%2Faxobject-query-2.2.0.tgz", + "integrity": "sha1-lD1H4QwLcEqkInXiDt83ImSJib4=", + "dev": true + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmmirror.com/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1634769717079&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz", + "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1636687869321&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1618847141951&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.3.tgz?cache=0&sync_timestamp=1636799838015&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.2.3.tgz", + "integrity": "sha1-btjjCYGwYvj+asqIc6N+vMjMHA8=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.5.tgz?cache=0&sync_timestamp=1636799836766&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha1-J3mEahahZSJEriaLHpBq2hB/r5I=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.3.tgz?cache=0&sync_timestamp=1636799764770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.2.3.tgz", + "integrity": "sha1-LpgI9QJ8QzbJlJkrSKQmJYDLjW0=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.4" + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1636274515578&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz", + "integrity": "sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://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.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://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": "1.0.1", + "resolved": "https://registry.nlark.com/base64-arraybuffer/download/base64-arraybuffer-1.0.1.tgz?cache=0&sync_timestamp=1628588917496&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbase64-arraybuffer%2Fdownload%2Fbase64-arraybuffer-1.0.1.tgz", + "integrity": "sha1-h70TUlYm20qYOOAKUIwrc+/PNIw=", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz", + "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/base64id/download/base64id-2.0.0.tgz", + "integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/bl/download/bl-4.1.0.tgz?cache=0&sync_timestamp=1617381897308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-4.1.0.tgz", + "integrity": "sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo=", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/blocking-proxy/download/blocking-proxy-1.0.1.tgz", + "integrity": "sha1-gdb9H+E6TA1pV99/kbdemNrEDLI=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.nlark.com/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1637015110760&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.nlark.com/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.nlark.com/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": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.18.1.tgz", + "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001280", + "electron-to-chromium": "^1.3.896", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/browserstack/download/browserstack-1.6.1.tgz", + "integrity": "sha1-4FH5cz7DtQdlnzlcekdlobHjWLM=", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/agent-base/download/agent-base-4.3.0.tgz", + "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz", + "integrity": "sha1-TuenN6vZJniik9mzShr00NCMeHs=", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + } + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/btoa/download/btoa-1.2.1.tgz", + "integrity": "sha1-AamQn4ssk/a/aAuiYTHrMPf6PXM=", + "dev": true + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.nlark.com/buffer/download/buffer-5.7.1.tgz", + "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/builtins/download/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz?cache=0&sync_timestamp=1637015110760&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "15.2.0", + "resolved": "https://registry.nlark.com/cacache/download/cacache-15.2.0.tgz", + "integrity": "sha1-c69193xY5y2MYwp6KFjLGO9SM4k=", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237266442&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-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" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1633617041481&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/callsites/download/callsites-2.0.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/caller-path/download/caller-path-2.0.0.tgz?cache=0&sync_timestamp=1633674209796&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz", + "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", + "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001283", + "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001283.tgz", + "integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==", + "dev": true + }, + "canonical-path": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/canonical-path/download/canonical-path-1.0.0.tgz", + "integrity": "sha1-/LRwwjlY3vhQgYVr56hukE8YDR0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/ccount/download/ccount-1.1.0.tgz", + "integrity": "sha1-JGaH3rtgFHNRMb6KurLZOJj40EM=", + "dev": true + }, + "cfb": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/cfb/download/cfb-1.2.1.tgz", + "integrity": "sha1-IJQp5MaO/TBkH2/HSy1gKL0gJAI=", + "requires": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0", + "printj": "~1.3.0" + }, + "dependencies": { + "adler-32": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/adler-32/download/adler-32-1.3.0.tgz", + "integrity": "sha1-PK0bcc36afbIqR8+NhXTGk/e3HI=", + "requires": { + "printj": "~1.2.2" + }, + "dependencies": { + "printj": { + "version": "1.2.3", + "resolved": "https://registry.nlark.com/printj/download/printj-1.2.3.tgz", + "integrity": "sha1-LPsrGSoeU4XbvltGZYrDSqgoUIo=" + } + } + }, + "printj": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/printj/download/printj-1.3.0.tgz", + "integrity": "sha1-kBipGKeQ5DcH8QYl1uEBh6Nnz/Y=" + } + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/character-entities/download/character-entities-1.2.4.tgz?cache=0&sync_timestamp=1635869177182&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-entities%2Fdownload%2Fcharacter-entities-1.2.4.tgz", + "integrity": "sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=", + "dev": true + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/character-entities-html4/download/character-entities-html4-1.1.4.tgz", + "integrity": "sha1-DmSwo3U92/H9wETF/QHQGZoC4SU=", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz?cache=0&sync_timestamp=1635911795757&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-entities-legacy%2Fdownload%2Fcharacter-entities-legacy-1.1.4.tgz", + "integrity": "sha1-lLwYRdznClu50uzHSHJWYSk9j8E=", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz?cache=0&sync_timestamp=1636446246852&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-reference-invalid%2Fdownload%2Fcharacter-reference-invalid-1.1.4.tgz", + "integrity": "sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1634639141514&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-2.0.0.tgz", + "integrity": "sha1-Fb++U9LqtM9w8YqM1o6+Wzyx3s4=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", + "dev": true + }, + "circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/circular-dependency-plugin/download/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha1-Oeg2B52x088vmI3EjFGIpEBYtgA=", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/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.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmmirror.com/clean-css/download/clean-css-3.4.28.tgz?cache=0&sync_timestamp=1634992314911&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fclean-css%2Fdownload%2Fclean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "dev": true, + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/commander/download/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1622605328444&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/cli-cursor/download/cli-cursor-3.1.0.tgz?cache=0&sync_timestamp=1629747506749&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-3.1.0.tgz", + "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/cli-spinners/download/cli-spinners-2.6.1.tgz?cache=0&sync_timestamp=1633109609172&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.6.1.tgz", + "integrity": "sha1-rclU6+KBw3pjGb+kAebdJIj/tw0=", + "dev": true + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cli-truncate/download/cli-truncate-2.1.0.tgz", + "integrity": "sha1-w54ovwXtzeW+O5iZKiLe7Vork8c=", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-3.0.0.tgz", + "integrity": "sha1-Md3BCTCht+C2ewjJbC9Jt3p4l4c=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/cli-width/download/cli-width-3.0.0.tgz", + "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz", + "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-2.2.0.tgz?cache=0&sync_timestamp=1617892092032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone-regexp%2Fdownload%2Fclone-regexp-2.2.0.tgz", + "integrity": "sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428=", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + }, + "dependencies": { + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz", + "integrity": "sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=", + "dev": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codepage": { + "version": "1.15.0", + "resolved": "https://registry.nlark.com/codepage/download/codepage-1.15.0.tgz?cache=0&sync_timestamp=1627596487574&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcodepage%2Fdownload%2Fcodepage-1.15.0.tgz", + "integrity": "sha1-LgBRkCSzlCTsZu6z7AcifmkmGKs=" + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/collapse-white-space/download/collapse-white-space-1.0.6.tgz?cache=0&sync_timestamp=1615197514795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcollapse-white-space%2Fdownload%2Fcollapse-white-space-1.0.6.tgz", + "integrity": "sha1-5jYpwAFmZXkgYNu+t5xCI50sUoc=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://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": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colord": { + "version": "2.9.1", + "resolved": "https://registry.npmmirror.com/colord/download/colord-2.9.1.tgz?cache=0&sync_timestamp=1634659871445&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcolord%2Fdownload%2Fcolord-2.9.1.tgz", + "integrity": "sha1-yWHqDv61fJ8PSDRFjybLnMSj+Q4=", + "dev": true + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/colorette/download/colorette-1.4.0.tgz", + "integrity": "sha1-UZD7uHJ2JZqGrXAL/yxtb6o/ykA=", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/colors/download/colors-1.4.0.tgz", + "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "comment-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/comment-parser/download/comment-parser-1.2.4.tgz?cache=0&sync_timestamp=1637132117502&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcomment-parser%2Fdownload%2Fcomment-parser-1.2.4.tgz", + "integrity": "sha1-SJ8+5V39GEpuS/+zG6uihEU8t2A=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.nlark.com/connect/download/connect-3.7.0.tgz?cache=0&sync_timestamp=1618847040246&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconnect%2Fdownload%2Fconnect-3.7.0.tgz", + "integrity": "sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz?cache=0&sync_timestamp=1618847040596&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconnect-history-api-fallback%2Fdownload%2Fconnect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://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.8.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624045508580&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz", + "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/copy-anything/download/copy-anything-2.0.3.tgz", + "integrity": "sha1-hCQHugJGaw34RIGbvjuuu+XUXYc=", + "dev": true, + "requires": { + "is-what": "^3.12.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/copy-webpack-plugin/download/copy-webpack-plugin-9.0.1.tgz?cache=0&sync_timestamp=1637161330355&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-9.0.1.tgz", + "integrity": "sha1-tx0hmRWZ9hpO4AunkIe4uiebu1k=", + "dev": true, + "requires": { + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "core-js": { + "version": "3.16.0", + "resolved": "https://registry.npmmirror.com/core-js/download/core-js-3.16.0.tgz", + "integrity": "sha1-HUb7M3ILwfp/kNIEMfNqVUCFiYY=", + "dev": true + }, + "core-js-compat": { + "version": "3.19.1", + "resolved": "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.19.1.tgz?cache=0&sync_timestamp=1635883123462&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.19.1.tgz", + "integrity": "sha1-/lmPGpvzcxDXfDgTlo6ffHu5lHY=", + "dev": true, + "requires": { + "browserslist": "^4.17.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", + "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.19.1", + "resolved": "https://registry.npmmirror.com/core-js-pure/download/core-js-pure-3.19.1.tgz?cache=0&sync_timestamp=1635883214117&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcore-js-pure%2Fdownload%2Fcore-js-pure-3.19.1.tgz", + "integrity": "sha1-7f/B/HY0AApVugXpWz8P6Vh6WqQ=", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.3.tgz", + "integrity": "sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz", + "integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz", + "integrity": "sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0=", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/crc-32/download/crc-32-1.2.0.tgz", + "integrity": "sha1-yy224puIUI4y2d0OwWk+e0Ghggg=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "critters": { + "version": "0.0.12", + "resolved": "https://registry.npmmirror.com/critters/download/critters-0.0.12.tgz", + "integrity": "sha1-MrqodSbgU6QbZ+GZIWc+2SJk4qs=", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css-select": "^4.1.3", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + }, + "postcss": { + "version": "8.4.1", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.4.1.tgz", + "integrity": "sha512-WqLs/TTzXdG+/A4ZOOK9WDZiikrRaiA+eoEb/jz2DT9KUhMNHgP7yKPO8vwi62ZCsb703Gwb7BMZwDzI54Y2Ag==", + "dev": true, + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz", + "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz?cache=0&sync_timestamp=1631804332345&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-blank-pseudo%2Fdownload%2Fcss-blank-pseudo-0.1.4.tgz", + "integrity": "sha1-3979MlS/ioICeZNnTM81SDv8s8U=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha1-6YUuTPlAunn1CdlCWxN9H5RDjcI=", + "dev": true, + "requires": { + "timsort": "^0.3.0" + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.nlark.com/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz", + "integrity": "sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4=", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-6.2.0.tgz?cache=0&sync_timestamp=1635967924209&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-6.2.0.tgz", + "integrity": "sha1-lmPZRDhB3pV6PLm86i7aZbM3cHE=", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/download/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha1-j6298QEoy0Aie/8nWku0dBJTQkU=", + "dev": true, + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "p-limit": "^3.0.2", + "postcss": "^8.3.5", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/css-parse/download/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz?cache=0&sync_timestamp=1631886210994&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-prefers-color-scheme%2Fdownload%2Fcss-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-4.1.3.tgz", + "integrity": "sha1-pwRA9wMX8maRGK10/xBeZYSccGc=", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/css-tree/download/css-tree-1.1.3.tgz", + "integrity": "sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz", + "integrity": "sha1-P3tweq32M7r2LCzrhXm1RbtA9/4=", + "dev": true + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz", + "integrity": "sha1-O/LypowQ9cagir2SN4Mx7oA83bA=", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "cssnano": { + "version": "5.0.11", + "resolved": "https://registry.npmmirror.com/cssnano/download/cssnano-5.0.11.tgz?cache=0&sync_timestamp=1637085734194&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcssnano%2Fdownload%2Fcssnano-5.0.11.tgz", + "integrity": "sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.1.7", + "is-resolvable": "^1.1.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-5.1.7.tgz?cache=0&sync_timestamp=1637084922741&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-5.1.7.tgz", + "integrity": "sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.1", + "postcss-convert-values": "^5.0.2", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.4", + "postcss-merge-rules": "^5.0.3", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.3", + "postcss-minify-params": "^5.0.2", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.3", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.3", + "postcss-unique-selectors": "^5.0.2" + } + }, + "cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/cssnano-utils/download/cssnano-utils-2.0.1.tgz", + "integrity": "sha1-hmCqKzfthp0uLyKRgZapqLZJjOI=", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408777341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz", + "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/csstype/download/csstype-3.0.10.tgz?cache=0&sync_timestamp=1637224507298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/custom-event/download/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-2.12.1.tgz", + "integrity": "sha1-4gtBqvzf/fXVCSgATs7PgVpGXoE=", + "requires": { + "internmap": "^1.0.0" + } + }, + "d3-brush": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/d3-brush/download/d3-brush-2.1.0.tgz", + "integrity": "sha1-ra37sQTok3rxQumm4gKDJvBHEGU=", + "requires": { + "d3-dispatch": "1 - 2", + "d3-drag": "2", + "d3-interpolate": "1 - 2", + "d3-selection": "2", + "d3-transition": "2" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/d3-collection/download/d3-collection-1.0.7.tgz", + "integrity": "sha1-NJvSqpl32wcQkcExRNXk8WtbMQ4=" + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.nlark.com/d3-color/download/d3-color-1.4.1.tgz?cache=0&sync_timestamp=1622917832534&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-color%2Fdownload%2Fd3-color-1.4.1.tgz", + "integrity": "sha1-xSACv4hGraRCTVXZeYL+8m6zvIo=" + }, + "d3-composite-projections": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/d3-composite-projections/download/d3-composite-projections-1.4.0.tgz", + "integrity": "sha1-J7GC+mNaWGk0n+kRzgGAuXTRfxI=", + "requires": { + "d3-geo": "^2.0.1", + "d3-path": "^2.0.0" + }, + "dependencies": { + "d3-geo": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/d3-geo/download/d3-geo-2.0.2.tgz", + "integrity": "sha1-wGXBtx/oxfG+ZX5fQ9m90BA4PEA=", + "requires": { + "d3-array": "^2.5.0" + } + } + } + }, + "d3-dispatch": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-dispatch/download/d3-dispatch-2.0.0.tgz?cache=0&sync_timestamp=1622918261265&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-dispatch%2Fdownload%2Fd3-dispatch-2.0.0.tgz", + "integrity": "sha1-ihjhb3bdP8rvQhY8l7kmqptV588=" + }, + "d3-drag": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-drag/download/d3-drag-2.0.0.tgz", + "integrity": "sha1-nq8EbOntHCXIhmGRHB1aTY636m0=", + "requires": { + "d3-dispatch": "1 - 2", + "d3-selection": "2" + } + }, + "d3-dsv": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/d3-dsv/download/d3-dsv-1.2.0.tgz", + "integrity": "sha1-nV91w6X4q9YR900/WEew1DOLiFw=", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/d3-ease/download/d3-ease-1.0.7.tgz", + "integrity": "sha1-moNIkO+LiujFWLL+Vb1X9Zk7heI=" + }, + "d3-format": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-format/download/d3-format-2.0.0.tgz", + "integrity": "sha1-oQvMD5hsNytym6RHOCQTqr9bB2c=" + }, + "d3-geo": { + "version": "1.6.4", + "resolved": "https://registry.nlark.com/d3-geo/download/d3-geo-1.6.4.tgz", + "integrity": "sha1-8g4eRhyxhF9ai+Vatvh2VCp+MZk=", + "requires": { + "d3-array": "1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-geo-projection": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/d3-geo-projection/download/d3-geo-projection-2.1.2.tgz", + "integrity": "sha1-ffjh6dBG1jHGUJ9+UxNX1K3CSqM=", + "requires": { + "commander": "2", + "d3-array": "1", + "d3-geo": "^1.1.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-hexjson": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/d3-hexjson/download/d3-hexjson-1.1.1.tgz?cache=0&sync_timestamp=1605174916023&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fd3-hexjson%2Fdownload%2Fd3-hexjson-1.1.1.tgz", + "integrity": "sha1-oeJk/5A7sJuPj0vFnHJEepH0YP4=", + "requires": { + "d3-array": "1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.nlark.com/d3-hierarchy/download/d3-hierarchy-1.1.9.tgz", + "integrity": "sha1-L2vuJMqupD+Nw3VF+gFihVlkeoM=" + }, + "d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/d3-interpolate/download/d3-interpolate-1.4.0.tgz", + "integrity": "sha1-Um554tgNqjg/ngwcHH3MDwWD6Yc=", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-path/download/d3-path-2.0.0.tgz?cache=0&sync_timestamp=1622917833000&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-path%2Fdownload%2Fd3-path-2.0.0.tgz", + "integrity": "sha1-VdhqwTGgVIra4kHuv7VrRYLdCdg=" + }, + "d3-sankey": { + "version": "0.9.1", + "resolved": "https://registry.nlark.com/d3-sankey/download/d3-sankey-0.9.1.tgz", + "integrity": "sha1-uFAUWjKEERY23eyQ39qMZJGb7k4=", + "requires": { + "d3-array": "1", + "d3-collection": "1", + "d3-shape": "^1.2.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-scale": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/d3-scale/download/d3-scale-3.3.0.tgz", + "integrity": "sha1-KMYAsp9H5bnNLfl0nCBnJ5ZiA/M=", + "requires": { + "d3-array": "^2.3.0", + "d3-format": "1 - 2", + "d3-interpolate": "1.2.0 - 2", + "d3-time": "^2.1.1", + "d3-time-format": "2 - 3" + } + }, + "d3-selection": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-selection/download/d3-selection-2.0.0.tgz", + "integrity": "sha1-lKEWOOohQbdWX4g3gNq8fvamEGY=" + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.nlark.com/d3-shape/download/d3-shape-1.3.7.tgz?cache=0&sync_timestamp=1622917833478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-shape%2Fdownload%2Fd3-shape-1.3.7.tgz", + "integrity": "sha1-32OAG+B7yYa8VPY3ibT+UCmStdc=", + "requires": { + "d3-path": "1" + }, + "dependencies": { + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.nlark.com/d3-path/download/d3-path-1.0.9.tgz?cache=0&sync_timestamp=1622917833000&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-path%2Fdownload%2Fd3-path-1.0.9.tgz", + "integrity": "sha1-SMBQux/owmJJOoyvVSTj6VkXAc8=" + } + } + }, + "d3-time": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/d3-time/download/d3-time-2.1.1.tgz?cache=0&sync_timestamp=1622916838153&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-time%2Fdownload%2Fd3-time-2.1.1.tgz", + "integrity": "sha1-6dioqIaR9FSOaMoIXl/5VnJKZoI=", + "requires": { + "d3-array": "2" + } + }, + "d3-time-format": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/d3-time-format/download/d3-time-format-3.0.0.tgz", + "integrity": "sha1-34BWyDZZ4B8grF2l/ernwI1fG7Y=", + "requires": { + "d3-time": "1 - 2" + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.nlark.com/d3-timer/download/d3-timer-1.0.10.tgz", + "integrity": "sha1-3+dripF0iDGxO22ceT/71QjdneU=" + }, + "d3-transition": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-transition/download/d3-transition-2.0.0.tgz", + "integrity": "sha1-Nm73DCLviNHjQQX1B1FpkaKRyUw=", + "requires": { + "d3-color": "1 - 2", + "d3-dispatch": "1 - 2", + "d3-ease": "1 - 2", + "d3-interpolate": "1 - 2", + "d3-timer": "1 - 2" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/d3-voronoi/download/d3-voronoi-1.1.4.tgz", + "integrity": "sha1-3Tx412U9K7NZKErkeGRdlZRMgpc=" + }, + "dagre": { + "version": "0.8.5", + "resolved": "https://registry.nlark.com/dagre/download/dagre-0.8.5.tgz", + "integrity": "sha1-ujCwBV2sErbB/MJHgXRCd30Gr+4=", + "requires": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073454623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-fns": { + "version": "2.26.0", + "resolved": "https://registry.npmmirror.com/date-fns/download/date-fns-2.26.0.tgz?cache=0&sync_timestamp=1637308994584&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdate-fns%2Fdownload%2Fdate-fns-2.26.0.tgz", + "integrity": "sha512-VQI812dRi3cusdY/fhoBKvc6l2W8BPWU1FNVnFH9Nttjx4AFBRzfSVb/Eyc7jBT6e9sg1XtAGsYpBQ6c/jygbg==" + }, + "date-format": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-3.0.0.tgz", + "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU=", + "dev": true + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055756574&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/deep-equal/download/deep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz", + "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/default-gateway/download/default-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/define-lazy-prop/download/define-lazy-prop-2.0.0.tgz", + "integrity": "sha1-P3rkIRKbyqrJvHSQXJigAJ7J7n8=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/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": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://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": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/globby/download/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1635931861684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://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": "https://registry.nlark.com/delegates/download/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/dependency-graph/download/dependency-graph-0.11.0.tgz", + "integrity": "sha1-rAzn7WilTaIhZahel6AdU/XrLic=", + "dev": true + }, + "desandro-matches-selector": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/desandro-matches-selector/download/desandro-matches-selector-2.0.2.tgz", + "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-browser": { + "version": "5.2.1", + "resolved": "https://registry.nlark.com/detect-browser/download/detect-browser-5.2.1.tgz?cache=0&sync_timestamp=1631836807281&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-browser%2Fdownload%2Fdetect-browser-5.2.1.tgz", + "integrity": "sha1-uIT42E6PM7uHT/7RC0vuomEz/NE=" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz?cache=0&sync_timestamp=1621146954463&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-node%2Fdownload%2Fdetect-node-2.1.0.tgz", + "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/di/download/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz", + "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz", + "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.nlark.com/dns-packet/download/dns-packet-1.3.4.tgz", + "integrity": "sha1-40VQZYJKJQe6iGxVqJljuxB97G8=", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz", + "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.2.tgz", + "integrity": "sha1-6CXXIdGahrjCAaNSZOImxnjudV8=", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", + "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.nlark.com/dot-prop/download/dot-prop-5.3.0.tgz", + "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", + "dev": true + } + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/duplexer/download/duplexer-0.1.2.tgz", + "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/echarts/download/echarts-5.2.2.tgz", + "integrity": "sha1-7DyLKhUcu6cbo8LHz5svIEfOQ3A=", + "requires": { + "tslib": "2.3.0", + "zrender": "5.2.1" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmmirror.com/ejs/download/ejs-3.1.6.tgz", + "integrity": "sha1-W/0KBol0O7UmizVQzO7rvBcCgio=", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, + "electron-to-chromium": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.3.tgz", + "integrity": "sha512-hfpppjYhqIZB8jrNb0rNceQRkSnBN7QJl3W26O1jUv3F3BkQknqy1YTqVXkFnIcFtBc3Qnv5M7r5Lez2iOLgZA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/download/encoding-0.1.13.tgz", + "integrity": "sha1-VldK/deR9UqOmyeFwFgqLSYhD6k=", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.6.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/engine.io/download/engine.io-6.1.0.tgz?cache=0&sync_timestamp=1636357215103&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fengine.io%2Fdownload%2Fengine.io-6.1.0.tgz", + "integrity": "sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.0", + "ws": "~8.2.3" + }, + "dependencies": { + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.1.tgz", + "integrity": "sha1-r9cT/ibr0hupXOth+agRblClN9E=", + "dev": true + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmmirror.com/ws/download/ws-8.2.3.tgz", + "integrity": "sha1-Y6VkVtsbBDZ9C3IaC4DK5ti+y7o=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/engine.io-parser/download/engine.io-parser-5.0.2.tgz?cache=0&sync_timestamp=1636871351259&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fengine.io-parser%2Fdownload%2Fengine.io-parser-5.0.2.tgz", + "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==", + "dev": true, + "requires": { + "base64-arraybuffer": "~1.0.1" + } + }, + "enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.3.tgz", + "integrity": "sha1-bVUtRlzOBCP1s9cYUR6lOCansvA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz", + "integrity": "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/env-paths/download/env-paths-2.2.1.tgz?cache=0&sync_timestamp=1630095479786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenv-paths%2Fdownload%2Fenv-paths-2.2.1.tgz", + "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/err-code/download/err-code-2.0.3.tgz", + "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.nlark.com/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/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.19.1", + "resolved": "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&sync_timestamp=1633234313248&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz", + "integrity": "sha1-1IhXlodpFpWd547aoN9FZicRXsM=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.7.1.tgz?cache=0&sync_timestamp=1633645560577&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-module-lexer%2Fdownload%2Fes-module-lexer-0.7.1.tgz", + "integrity": "sha1-wsjg9G8t8GJ0za8N0/OzPgoLJn0=", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/es6-promisify/download/es6-promisify-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes6-promisify%2Fdownload%2Fes6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz", + "integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo=", + "dev": true + } + } + }, + "esbuild-android-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.8.tgz?cache=0&sync_timestamp=1637462928775&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-android-arm64%2Fdownload%2Fesbuild-android-arm64-0.13.8.tgz", + "integrity": "sha1-wg6HXDyYFksf+6myhje9+W9ennw=", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.8.tgz", + "integrity": "sha1-9G5rRx3b9iJlI0gIpqGqkd8YpBc=", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.8.tgz", + "integrity": "sha1-qZEVemAT+s1PLhQVm32lJibJAVQ=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.8.tgz", + "integrity": "sha1-MBYB0uRDrUWJYONZtAKhfZUAvp0=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.8.tgz", + "integrity": "sha1-A5pjrMEuwIkgBsFH6iIeVfkSWp8=", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.8.tgz", + "integrity": "sha1-xTe2fX5pS2C/onhlgUEoOMa6AoQ=", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.8.tgz", + "integrity": "sha1-AJL8igZAAad3v6DjtCW7i+j5bmo=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.8.tgz", + "integrity": "sha1-rWNPlr8pdVNpB665/bdaMZT03c4=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.8.tgz?cache=0&sync_timestamp=1637498766925&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-arm64%2Fdownload%2Fesbuild-linux-arm64-0.13.8.tgz", + "integrity": "sha1-XNPyu5JCEpcUgujbwlxK/QmygRA=", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.8.tgz", + "integrity": "sha1-V4V+3+v5v2V2bci+FjfyF5yZBXI=", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.8.tgz?cache=0&sync_timestamp=1637462927819&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-ppc64le%2Fdownload%2Fesbuild-linux-ppc64le-0.13.8.tgz", + "integrity": "sha1-/bgqBZpbhrsQ+0IJG0689Ii5zUY=", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.8.tgz", + "integrity": "sha1-14eecSPTssBHVOzovQYapoZt7v8=", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.8.tgz?cache=0&sync_timestamp=1637462928360&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-openbsd-64%2Fdownload%2Fesbuild-openbsd-64-0.13.8.tgz", + "integrity": "sha1-iLKAtssKP2rbYKvyf8UGxQajXPA=", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.8.tgz?cache=0&sync_timestamp=1637498783394&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-sunos-64%2Fdownload%2Fesbuild-sunos-64-0.13.8.tgz", + "integrity": "sha1-Iprnx3AxlqWKzQ8Cka2b69qBXWM=", + "dev": true, + "optional": true + }, + "esbuild-wasm": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-wasm/download/esbuild-wasm-0.13.8.tgz", + "integrity": "sha1-80E0wYf/z8ItR26SWRf3C6tA+LA=", + "dev": true + }, + "esbuild-windows-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.8.tgz", + "integrity": "sha1-iS0JPjKiHAyRNeWg/9w4Cutw52M=", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.8.tgz?cache=0&sync_timestamp=1637462927131&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-windows-64%2Fdownload%2Fesbuild-windows-64-0.13.8.tgz", + "integrity": "sha1-fe/Y15rju35vU7ZacZC+fa+QFoY=", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.8.tgz", + "integrity": "sha1-5ZrgBElv2KWrZ7/HlFouR0gNb7k=", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://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": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz?cache=0&sync_timestamp=1637475730061&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-7.32.0.tgz", + "integrity": "sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz?cache=0&sync_timestamp=1635561808745&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.12.11.tgz", + "integrity": "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "dev": true + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", + "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", + "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.20.2.tgz", + "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha1-90cbILb+ipqSVMxoRFQgKIai3Xo=", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz?cache=0&sync_timestamp=1629046642917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha1-QEi5WDldqJZoJSAB29nsprg7rL0=", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.1.tgz?cache=0&sync_timestamp=1634151608499&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.7.1.tgz", + "integrity": "sha1-tDUAHJ+N1Kt/bQ78rkuWltTCS3w=", + "dev": true, + "requires": { + "debug": "^3.2.7", + "find-up": "^2.1.0", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-2.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.24.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.24.2.tgz?cache=0&sync_timestamp=1636529205526&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.24.2.tgz", + "integrity": "sha1-LIzS40HziFkY7ifRhHmRCt57tNo=", + "dev": true, + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.6.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz", + "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "eslint-plugin-jsdoc": { + "version": "36.0.8", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsdoc/download/eslint-plugin-jsdoc-36.0.8.tgz", + "integrity": "sha1-zXL3ZZPI+zNiN0sAUtTUmycRQIo=", + "dev": true, + "requires": { + "@es-joy/jsdoccomment": "0.10.8", + "comment-parser": "1.2.4", + "debug": "^4.3.2", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "^1.1.1", + "lodash": "^4.17.21", + "regextras": "^0.8.0", + "semver": "^7.3.5", + "spdx-expression-parse": "^3.0.1" + } + }, + "eslint-plugin-prefer-arrow": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-prefer-arrow/download/eslint-plugin-prefer-arrow-1.2.3.tgz?cache=0&sync_timestamp=1611628691162&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-prefer-arrow%2Fdownload%2Feslint-plugin-prefer-arrow-1.2.3.tgz", + "integrity": "sha1-5/uz+kzYT/EBW5xRrYZVDlUEEEE=", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/download/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha1-6d2yAO+289Bf/oOxZlpxavSjh+U=", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466929956&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-3.0.0.tgz", + "integrity": "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz?cache=0&sync_timestamp=1637466456948&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fespree%2Fdownload%2Fespree-7.3.1.tgz", + "integrity": "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz", + "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", + "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", + "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "eta": { + "version": "1.12.3", + "resolved": "https://registry.nlark.com/eta/download/eta-1.12.3.tgz", + "integrity": "sha1-KYLQit++85+fpQ4vvULXM35zOLE=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.nlark.com/etag/download/etag-1.8.1.tgz?cache=0&sync_timestamp=1618847044821&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fetag%2Fdownload%2Fetag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ev-emitter/download/ev-emitter-1.1.1.tgz", + "integrity": "sha1-jxiwzlx2pdGAF/ccCnlcZbkTjyo=" + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/eventemitter-asyncresource/download/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha1-c0/y5Ev0SOYn93SPkF1r3Ve9tls=", + "dev": true + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/eventsource/download/eventsource-1.1.0.tgz", + "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1637147245057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/execall/download/execall-2.0.0.tgz?cache=0&sync_timestamp=1617892843041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexecall%2Fdownload%2Fexecall-2.0.0.tgz", + "integrity": "sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U=", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/exit-on-epipe/download/exit-on-epipe-1.0.1.tgz", + "integrity": "sha1-C92S6H1ShdJn2qgXHQ6wYVlolpI=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "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.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/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": "https://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" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/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.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://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": "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz?cache=0&sync_timestamp=1635889740043&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.2.tgz", + "integrity": "sha1-S2LEK44D3j+EhGC2OQeZIGldAVQ=" + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz?cache=0&sync_timestamp=1625773305786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.7.tgz", + "integrity": "sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/fast-safe-stringify/download/fast-safe-stringify-2.1.1.tgz?cache=0&sync_timestamp=1631085668938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-safe-stringify%2Fdownload%2Ffast-safe-stringify-2.1.1.tgz", + "integrity": "sha1-xAaoO25w2eNc47MKgRQd8wrrqIQ=", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npm.taobao.org/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz", + "integrity": "sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.nlark.com/faye-websocket/download/faye-websocket-0.11.4.tgz", + "integrity": "sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fecha": { + "version": "4.2.1", + "resolved": "https://registry.nlark.com/fecha/download/fecha-4.2.1.tgz", + "integrity": "sha1-CoOtj4bvYqCR4iu1oDnNA9I+7M4=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1625254307578&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz", + "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-6.0.1.tgz", + "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/file-saver/download/file-saver-2.0.5.tgz", + "integrity": "sha1-1hz+LOBZ9BTYmendbUEH7iVnDDg=" + }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/filelist/download/filelist-1.0.2.tgz", + "integrity": "sha1-gCAvIUYtTRwuIUEZsYB8G8A4Dls=", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fizzy-ui-utils": { + "version": "2.0.7", + "resolved": "https://registry.npm.taobao.org/fizzy-ui-utils/download/fizzy-ui-utils-2.0.7.tgz", + "integrity": "sha1-ffRdzE6zdKCLZdObuaS+7fczBQU=", + "requires": { + "desandro-matches-selector": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-3.0.4.tgz", + "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473847692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/flatten/download/flatten-1.0.3.tgz", + "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs=", + "dev": true + }, + "follow-redirects": { + "version": "1.14.5", + "resolved": "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.5.tgz?cache=0&sync_timestamp=1635857764332&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.5.tgz", + "integrity": "sha1-8JpYSJgdPHcrU5Iwl3hSP42Fw4E=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.nlark.com/form-data/download/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz?cache=0&sync_timestamp=1622503408398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fforwarded%2Fdownload%2Fforwarded-0.2.0.tgz", + "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", + "dev": true + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/frac/download/frac-1.1.2.tgz", + "integrity": "sha1-PXT39keMiKG1AgMG10fcYxPHTQs=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://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": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-9.1.0.tgz", + "integrity": "sha1-WVRGDHZKjaIJS6NVS/g55rmnyG0=", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz", + "integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/fs-monkey/download/fs-monkey-1.0.3.tgz?cache=0&sync_timestamp=1617593290175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-monkey%2Fdownload%2Ffs-monkey-1.0.3.tgz", + "integrity": "sha1-rjrJLVO7Mo7+DpodlUH2rY1I4tM=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/gauge/download/gauge-2.7.4.tgz?cache=0&sync_timestamp=1636989373302&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fgauge%2Fdownload%2Fgauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://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.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=", + "dev": true + }, + "get-size": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/get-size/download/get-size-2.0.3.tgz", + "integrity": "sha1-VKHQJWsg6nrGRlFnViAnaZQa0u8=" + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-8.0.0.tgz", + "integrity": "sha1-y61qc/63X27rIrqeAfiaooqpelM=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz", + "integrity": "sha1-f9uByQAQH71WTdXxowr1qtweWNY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/gl-matrix/download/gl-matrix-3.4.3.tgz", + "integrity": "sha1-/BGR6DIACf1NIOkzlZXGBB3cIsk=" + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.7.tgz", + "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-6.0.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-6.0.2.tgz", + "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.nlark.com/globby/download/globby-11.0.4.tgz", + "integrity": "sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/globjoin/download/globjoin-0.1.4.tgz", + "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "dev": true + }, + "gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/gonzales-pe/download/gonzales-pe-4.3.0.tgz", + "integrity": "sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz", + "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/graphlib/download/graphlib-2.1.8.tgz", + "integrity": "sha1-V2HUFHN4cAhMkux7XbywWSydNdo=", + "requires": { + "lodash": "^4.17.15" + } + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/gzip-size/download/gzip-size-6.0.0.tgz", + "integrity": "sha1-BlNn/VDCOcBnHLy61b4+LusQ5GI=", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz", + "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + } + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/hard-rejection/download/hard-rejection-2.1.0.tgz", + "integrity": "sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz", + "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz?cache=0&sync_timestamp=1628196402801&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-tostringtag%2Fdownload%2Fhas-tostringtag-1.0.0.tgz", + "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/has-unicode/download/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/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.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://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": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/hash.js/download/hash.js-1.1.7.tgz?cache=0&sync_timestamp=1622643346539&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhash.js%2Fdownload%2Fhash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hdr-histogram-js": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/hdr-histogram-js/download/hdr-histogram-js-2.0.1.tgz", + "integrity": "sha1-7LH/K8thgcPpP/SvlHLCjH6XKE4=", + "dev": true, + "requires": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/hdr-histogram-percentiles-obj/download/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha1-lAn03gwt2njmHeLZ14senzy6KDw=", + "dev": true + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-4.0.2.tgz", + "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.nlark.com/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1617031468383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", + "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz?cache=0&sync_timestamp=1613643546928&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-escaper%2Fdownload%2Fhtml-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz", + "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640940074&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz", + "integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1636932182141&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz", + "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true + } + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz", + "integrity": "sha1-ioyO9/WTLM+VPClsqCkblap0qjo=", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://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.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/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.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/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.1", + "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.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/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" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1637178646601&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-client": { + "version": "1.3.5", + "resolved": "https://registry.nlark.com/http2-client/download/http2-client-1.3.5.tgz", + "integrity": "sha1-IMnckJ48yYKE3SCvJDLFJAht8YE=", + "dev": true + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz", + "integrity": "sha1-4qkFQqu2inYuCghQ9sntrf2FBrI=", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz?cache=0&sync_timestamp=1624364695595&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhuman-signals%2Fdownload%2Fhuman-signals-2.1.0.tgz", + "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "husky": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/husky/download/husky-6.0.0.tgz", + "integrity": "sha1-gQ8RhprfUWBMMupXftvDd9f5MZ4=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-5.1.0.tgz", + "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz", + "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", + "dev": true + }, + "ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-5.1.9.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-5.1.9.tgz", + "integrity": "sha1-nsGly+jhRG7GDUQgBg1Dqm5zgvs=", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/ignore-walk/download/ignore-walk-3.0.4.tgz", + "integrity": "sha1-yaCfabfHtHml10rBo8DUI20qYzU=", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1618422657851&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.nlark.com/immediate/download/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469532269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", + "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/import-lazy/download/import-lazy-4.0.0.tgz", + "integrity": "sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1622604582006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ini/download/ini-2.0.0.tgz", + "integrity": "sha1-5f1Vbs3VcmvpePoQAYYurLCpS8U=", + "dev": true + }, + "inquirer": { + "version": "8.1.2", + "resolved": "https://registry.npmmirror.com/inquirer/download/inquirer-8.1.2.tgz?cache=0&sync_timestamp=1633472964335&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finquirer%2Fdownload%2Finquirer-8.1.2.tgz", + "integrity": "sha1-ZbIE0s1/tjQA7dkl3+Qouv1CLj0=", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.3.0", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-7.4.0.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-7.4.0.tgz", + "integrity": "sha1-oSpE1+6/AW9f8kQbh/KMmlHOvGg=", + "dev": true, + "requires": { + "tslib": "~2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.1.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.1.0.tgz", + "integrity": "sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo=", + "dev": true + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/internal-ip/download/internal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz", + "integrity": "sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "internmap": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/internmap/download/internmap-1.0.1.tgz?cache=0&sync_timestamp=1632108258638&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finternmap%2Fdownload%2Finternmap-1.0.1.tgz", + "integrity": "sha1-ABfMijuZYF8DAvKxmNJy4BXl35U=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.nlark.com/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.nlark.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz", + "integrity": "sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=", + "dev": true + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-alphanumeric/download/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz?cache=0&sync_timestamp=1636009316820&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-alphanumerical%2Fdownload%2Fis-alphanumerical-1.0.4.tgz", + "integrity": "sha1-frmiQx+FX2se8aeOMm31FWlsTb8=", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.1.tgz?cache=0&sync_timestamp=1628201919104&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.1.tgz", + "integrity": "sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps=", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz?cache=0&sync_timestamp=1628747504782&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-bigint%2Fdownload%2Fis-bigint-1.0.4.tgz", + "integrity": "sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz", + "integrity": "sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz", + "integrity": "sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=", + "dev": true + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&sync_timestamp=1634237061095&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", + "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.5.tgz", + "integrity": "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-decimal/download/is-decimal-1.0.4.tgz?cache=0&sync_timestamp=1636008973005&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-decimal%2Fdownload%2Fis-decimal-1.0.4.tgz", + "integrity": "sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://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.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/is-docker/download/is-docker-2.2.1.tgz?cache=0&sync_timestamp=1630451108035&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-docker%2Fdownload%2Fis-docker-2.2.1.tgz", + "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://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": "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz?cache=0&sync_timestamp=1636011536406&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-hexadecimal%2Fdownload%2Fis-hexadecimal-1.0.4.tgz", + "integrity": "sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=", + "dev": true + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-interactive/download/is-interactive-1.0.0.tgz", + "integrity": "sha1-zqbmrlyHCnsKAAQHC3tYfgJSkS4=", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-lambda/download/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz", + "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz", + "integrity": "sha1-anqvg4x/BoalC0VT9+VKlklOifA=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618601044820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1618846974259&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628221905423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz", + "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz", + "integrity": "sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-supported-regexp-flag": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-supported-regexp-flag/download/is-supported-regexp-flag-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-supported-regexp-flag%2Fdownload%2Fis-supported-regexp-flag-1.0.1.tgz", + "integrity": "sha1-Ie4WUY0sHdPt0+mg1X5QIHrDZMo=", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz", + "integrity": "sha1-ptrJO2NbBjymhyI23oiRClevE5w=", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz?cache=0&sync_timestamp=1625294161966&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-unicode-supported%2Fdownload%2Fis-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "dev": true + }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-weakref/download/is-weakref-1.0.1.tgz", + "integrity": "sha1-hC26TsF/qayYUN8tbvvBc3J08qI=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz?cache=0&sync_timestamp=1634283360064&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-what%2Fdownload%2Fis-what-3.14.1.tgz", + "integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=", + "dev": true + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-whitespace-character/download/is-whitespace-character-1.0.4.tgz", + "integrity": "sha1-CFjt2UqVWUx8ndC1wXTsbkXuSqc=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-word-character/download/is-word-character-1.0.4.tgz", + "integrity": "sha1-zg5zIW+YWZBgWS9i/zE1TdvrAjA=", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/is-wsl/download/is-wsl-2.2.0.tgz", + "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.nlark.com/isbinaryfile/download/isbinaryfile-4.0.8.tgz", + "integrity": "sha1-XTS5SGW9SUZjPsx4oCb8dsWxH88=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-3.2.0.tgz?cache=0&sync_timestamp=1634527189737&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha1-GJ55CdCjn6Wj361bA/cZR3cBkdM=", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/download/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/istanbul-lib-report/download/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha1-dRj+UupE3jcvRgp2tezan/tz2KY=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha1-iV86cJ/PujTG3lpCk5Ai8+Q1hVE=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/istanbul-reports/download/istanbul-reports-3.0.5.tgz?cache=0&sync_timestamp=1634144713451&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-reports%2Fdownload%2Fistanbul-reports-3.0.5.tgz", + "integrity": "sha1-olgBB+cSeeptZh3e3pKf/G1pM4Q=", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "isutf8": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/isutf8/download/isutf8-3.1.1.tgz", + "integrity": "sha1-PyrHf0mv+yOuVIE9oaSrRKrfHXs=" + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.nlark.com/jake/download/jake-10.8.2.tgz", + "integrity": "sha1-68nehVgWCmbYLQ6txqLlj7xQCns=", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/async/download/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/jasmine/download/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + }, + "dependencies": { + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/jasmine-core/download/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + } + } + }, + "jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmmirror.com/jasmine-core/download/jasmine-core-3.8.0.tgz", + "integrity": "sha1-gVOZquWqXZvusSYoBfmBuZ/8m/A=", + "dev": true + }, + "jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.nlark.com/jasmine-spec-reporter/download/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha1-thKIqwdK1EDcJHfE1ChAsOdKa5U=", + "dev": true, + "requires": { + "colors": "1.4.0" + } + }, + "jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/jasminewd2/download/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmmirror.com/jest-worker/download/jest-worker-27.3.1.tgz?cache=0&sync_timestamp=1634626737887&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjest-worker%2Fdownload%2Fjest-worker-27.3.1.tgz", + "integrity": "sha1-De9/6uW4BCvjhHl5mut7X6ysJLI=", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-base64": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/js-base64/download/js-base64-3.7.2.tgz", + "integrity": "sha1-gW0R2BqK/yQWA9Gc5XYeE+Qdd0U=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", + "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdoc-type-pratt-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/jsdoc-type-pratt-parser/download/jsdoc-type-pratt-parser-1.2.0.tgz", + "integrity": "sha1-NIKjgzt0qIyVprpyU/DA3jt3ufU=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1636423494254&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz", + "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/jsonc-parser/download/jsonc-parser-3.0.0.tgz?cache=0&sync_timestamp=1605281904422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonc-parser%2Fdownload%2Fjsonc-parser-3.0.0.tgz", + "integrity": "sha1-q914VwHH5+rKip7IzwcMpRp0WiI=", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/jsonfile/download/jsonfile-6.1.0.tgz", + "integrity": "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/jsprim/download/jsprim-1.4.1.tgz?cache=0&sync_timestamp=1637110674471&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjsprim%2Fdownload%2Fjsprim-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.7.1", + "resolved": "https://registry.nlark.com/jszip/download/jszip-3.7.1.tgz", + "integrity": "sha1-vWNAEiHBViWhIoxVbKimjab9o9k=", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "karma": { + "version": "6.3.9", + "resolved": "https://registry.npmmirror.com/karma/download/karma-6.3.9.tgz?cache=0&sync_timestamp=1637099037935&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fkarma%2Fdownload%2Fkarma-6.3.9.tgz", + "integrity": "sha512-E/MqdLM9uVIhfuyVnrhlGBu4miafBdXEAEqCmwdEMh3n17C7UWC/8Kvm3AYKr91gc7scutekZ0xv6rxRaUCtnw==", + "dev": true, + "requires": { + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "colors": "^1.4.0", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.3.0", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.2.0", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz", + "integrity": "sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha1-gFpYZ5mk0F9OVPcqIEl58/MGZzg=", + "dev": true, + "requires": { + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/karma-coverage/download/karma-coverage-2.0.3.tgz", + "integrity": "sha1-wQ9HEfTPXKqqZosdb2QufaEi2XM=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.1", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", + "minimatch": "^3.0.4" + } + }, + "karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/karma-coverage-istanbul-reporter/download/karma-coverage-istanbul-reporter-3.0.3.tgz?cache=0&sync_timestamp=1626199377702&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fkarma-coverage-istanbul-reporter%2Fdownload%2Fkarma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha1-87UwNVOq3I5oHUDTYN/cGbx+n+k=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" + }, + "dependencies": { + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha1-KEmXxIIRdS7EhiU9qX44ed77qMg=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz?cache=0&sync_timestamp=1634527189737&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k=", + "dev": true + } + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "karma-jasmine": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/karma-jasmine/download/karma-jasmine-4.0.1.tgz", + "integrity": "sha1-uZ4HO22ZpRlvxL/8EhuJMTsKvYI=", + "dev": true, + "requires": { + "jasmine-core": "^3.6.0" + } + }, + "karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/karma-jasmine-html-reporter/download/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha1-UsSJp012CTShCJv6XqSo/LhMwos=", + "dev": true + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/karma-source-map-support/download/karma-source-map-support-1.4.0.tgz", + "integrity": "sha1-WFJs7M9+hzDlbv/Zek3o1xKsDWs=", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/klona/download/klona-2.0.5.tgz?cache=0&sync_timestamp=1635385383825&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fklona%2Fdownload%2Fklona-2.0.5.tgz", + "integrity": "sha1-0WZXTZAHY5XZljqnqSj6u412r7w=", + "dev": true + }, + "known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.nlark.com/known-css-properties/download/known-css-properties-0.21.0.tgz", + "integrity": "sha1-FfvQu7g0R/POCdivJH7UfGjt6A0=", + "dev": true + }, + "less": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/less/download/less-4.1.1.tgz", + "integrity": "sha1-Fb8lOpk5eR3GkIiMP/Qk8+bH7bo=", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + } + } + }, + "less-loader": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/less-loader/download/less-loader-10.0.1.tgz", + "integrity": "sha1-wFqrpo0AQAggJ18hwq2Hy5+pkj8=", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "less-plugin-clean-css": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/less-plugin-clean-css/download/less-plugin-clean-css-1.5.1.tgz", + "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=", + "dev": true, + "requires": { + "clean-css": "^3.0.1" + } + }, + "less-plugin-npm-import": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/less-plugin-npm-import/download/less-plugin-npm-import-2.1.0.tgz", + "integrity": "sha1-gj5phskzGKmBccqFiEi2vq1Vvz4=", + "dev": true, + "requires": { + "promise": "~7.0.1", + "resolve": "~1.1.6" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "less-vars-to-js": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/less-vars-to-js/download/less-vars-to-js-1.3.0.tgz", + "integrity": "sha1-wyLPQ6PI/D+rZV2j5RoUwUmatXE=", + "dev": true, + "requires": { + "strip-json-comments": "^2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/leven/download/leven-2.1.0.tgz?cache=0&sync_timestamp=1628598084975&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fleven%2Fdownload%2Fleven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz", + "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "license-webpack-plugin": { + "version": "2.3.20", + "resolved": "https://registry.npmmirror.com/license-webpack-plugin/download/license-webpack-plugin-2.3.20.tgz?cache=0&sync_timestamp=1636693292671&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flicense-webpack-plugin%2Fdownload%2Flicense-webpack-plugin-2.3.20.tgz", + "integrity": "sha1-9R+2dMoxUZ2+2+HHqrwDblp/KFg=", + "dev": true, + "requires": { + "@types/webpack-sources": "^0.1.5", + "webpack-sources": "^1.2.0" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/lie/download/lie-3.3.0.tgz", + "integrity": "sha1-3Pgt7lRfRgdNryAMfBxaCOD0D2o=", + "requires": { + "immediate": "~3.0.5" + } + }, + "lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/lilconfig/download/lilconfig-2.0.4.tgz?cache=0&sync_timestamp=1636150747257&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flilconfig%2Fdownload%2Flilconfig-2.0.4.tgz", + "integrity": "sha1-9FB9BD1wWLOAtqj1y3vNSzTO4II=", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/download/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lint-staged": { + "version": "11.2.6", + "resolved": "https://registry.npmmirror.com/lint-staged/download/lint-staged-11.2.6.tgz?cache=0&sync_timestamp=1637566864097&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flint-staged%2Fdownload%2Flint-staged-11.2.6.tgz", + "integrity": "sha1-9HexrwKU2wVOWTfxcWed9juqTEM=", + "dev": true, + "requires": { + "cli-truncate": "2.1.0", + "colorette": "^1.4.0", + "commander": "^8.2.0", + "cosmiconfig": "^7.0.1", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "execa": "^5.1.1", + "listr2": "^3.12.2", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "3.3.0", + "supports-color": "8.1.1" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/download/commander-8.3.0.tgz", + "integrity": "sha1-SDfqGy2me5xhamevuw+v7lZ7ymY=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/download/execa-5.1.1.tgz?cache=0&sync_timestamp=1637147245057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-5.1.1.tgz", + "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz", + "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz", + "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "listr2": { + "version": "3.13.5", + "resolved": "https://registry.npmmirror.com/listr2/download/listr2-3.13.5.tgz", + "integrity": "sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.4.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmmirror.com/colorette/download/colorette-2.0.16.tgz", + "integrity": "sha1-cTua+E/bAAE58EVGvUqT9ipQhdo=", + "dev": true + }, + "rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-7.4.0.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-7.4.0.tgz", + "integrity": "sha1-oSpE1+6/AW9f8kQbh/KMmlHOvGg=", + "dev": true, + "requires": { + "tslib": "~2.1.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.1.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.1.0.tgz", + "integrity": "sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-4.2.0.tgz?cache=0&sync_timestamp=1610027943366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-4.2.0.tgz", + "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.0.tgz?cache=0&sync_timestamp=1636687869321&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz", + "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npm.taobao.org/lodash.truncate/download/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.nlark.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/log-update/download/log-update-4.0.0.tgz?cache=0&sync_timestamp=1634542359448&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flog-update%2Fdownload%2Flog-update-4.0.0.tgz", + "integrity": "sha1-WJ7NNSRx8qHAxXAodUOmTf0g4KE=", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "log4js": { + "version": "6.3.0", + "resolved": "https://registry.nlark.com/log4js/download/log4js-6.3.0.tgz", + "integrity": "sha1-EN+vu0NDUaPjAnegC5h5RG9xW8s=", + "dev": true, + "requires": { + "date-format": "^3.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.1", + "rfdc": "^1.1.4", + "streamroller": "^2.2.4" + }, + "dependencies": { + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1636473847692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", + "dev": true + } + } + }, + "loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/loglevel/download/loglevel-1.8.0.tgz?cache=0&sync_timestamp=1637240410022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floglevel%2Fdownload%2Floglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "dev": true + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/longest-streak/download/longest-streak-2.0.4.tgz?cache=0&sync_timestamp=1636446222992&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flongest-streak%2Fdownload%2Flongest-streak-2.0.4.tgz", + "integrity": "sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.nlark.com/magic-string/download/magic-string-0.25.7.tgz?cache=0&sync_timestamp=1618847046304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmagic-string%2Fdownload%2Fmagic-string-0.25.7.tgz", + "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz", + "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", + "dev": true + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.nlark.com/make-fetch-happen/download/make-fetch-happen-9.1.0.tgz?cache=0&sync_timestamp=1629820656927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmake-fetch-happen%2Fdownload%2Fmake-fetch-happen-9.1.0.tgz", + "integrity": "sha1-UwhaCeeXFDPmdl95cb9j9OBcuWg=", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz?cache=0&sync_timestamp=1629751304151&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmap-age-cleaner%2Fdownload%2Fmap-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-4.3.0.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-4.3.0.tgz", + "integrity": "sha1-kwT5Buk/qucIgNoQKp8d8OqLsFo=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/markdown-escapes/download/markdown-escapes-1.0.4.tgz?cache=0&sync_timestamp=1635887464232&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmarkdown-escapes%2Fdownload%2Fmarkdown-escapes-1.0.4.tgz", + "integrity": "sha1-yVQV70UUmddgK5EJXzyOiXX3hTU=", + "dev": true + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/markdown-table/download/markdown-table-1.1.3.tgz", + "integrity": "sha1-n8tpvP24cXv9A5jG7C2TA2743mA=", + "dev": true + }, + "masonry-layout": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/masonry-layout/download/masonry-layout-4.2.2.tgz", + "integrity": "sha1-1XtErxPmAb/NxCPx3YNItVJN40g=", + "requires": { + "get-size": "^2.0.2", + "outlayer": "^2.1.0" + } + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz", + "integrity": "sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=", + "dev": true + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/mdast-util-compact/download/mdast-util-compact-1.0.4.tgz?cache=0&sync_timestamp=1627635894673&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-compact%2Fdownload%2Fmdast-util-compact-1.0.4.tgz", + "integrity": "sha1-1TG7dme1Ejq/IIWb4IbE0GyJRZM=", + "dev": true, + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmmirror.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha1-0e8spCvDd+ywRjqYeRDa6JvZoow=", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmmirror.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha1-sz9nyoINaebMUnqT1AOSSbUEvr4=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz?cache=0&sync_timestamp=1619426294961&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-to-string%2Fdownload%2Fmdast-util-to-string-2.0.0.tgz", + "integrity": "sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs=", + "dev": true + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz", + "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "8.1.1", + "resolved": "https://registry.nlark.com/mem/download/mem-8.1.1.tgz?cache=0&sync_timestamp=1626534352883&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmem%2Fdownload%2Fmem-8.1.1.tgz", + "integrity": "sha1-zxGLNXxlq3t+CBe98AyAYil8ASI=", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.1.0" + }, + "dependencies": { + "mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-3.1.0.tgz", + "integrity": "sha1-ZXVRRbvz42lUuUnBZFBCdFHVynQ=", + "dev": true + } + } + }, + "memfs": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/memfs/download/memfs-3.4.0.tgz", + "integrity": "sha512-o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://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.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/meow/download/meow-7.1.1.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-7.1.1.tgz", + "integrity": "sha1-fAFZXj0zf8sOxOju0WZuqVkD0wY=", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz", + "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + } + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz", + "integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=", + "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmmirror.com/micromark/download/micromark-2.11.4.tgz", + "integrity": "sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo=", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz", + "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz?cache=0&sync_timestamp=1636425951030&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-db%2Fdownload%2Fmime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz?cache=0&sync_timestamp=1636432302620&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.1.tgz", + "integrity": "sha1-pj9oFnOzBXH76LwlaGrnRu76mGk=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-2.4.2.tgz", + "integrity": "sha1-s1CBkepHk4ikcVAYyZ3T5t1A0tI=", + "dev": true, + "requires": { + "schema-utils": "^3.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-4.1.0.tgz", + "integrity": "sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "3.1.5", + "resolved": "https://registry.nlark.com/minipass/download/minipass-3.1.5.tgz?cache=0&sync_timestamp=1631656314228&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminipass%2Fdownload%2Fminipass-3.1.5.tgz", + "integrity": "sha1-cfYlGwozpJwBs8+X/3ftoDDf9zI=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/minipass-collect/download/minipass-collect-1.0.2.tgz", + "integrity": "sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/minipass-fetch/download/minipass-fetch-1.4.1.tgz", + "integrity": "sha1-114AkdqsGw/9fp1BYp+v99DB8bY=", + "dev": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/minipass-flush/download/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minipass-json-stream/download/minipass-json-stream-1.0.1.tgz", + "integrity": "sha1-ftu5JYj7/C/x2y/BA5est7a0Sqc=", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.nlark.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz", + "integrity": "sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/minipass-sized/download/minipass-sized-1.0.3.tgz", + "integrity": "sha1-cO5afFBSBwr6z7wil36nne81O3A=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/minizlib/download/minizlib-2.1.2.tgz", + "integrity": "sha1-6Q00Zrogm5MkUVCKEc49NjIUWTE=", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://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" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true + }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/mockjs/download/mockjs-1.1.0.tgz", + "integrity": "sha1-5qDDeOkZBtuv8gkRzAJzs8fXWwY=", + "requires": { + "commander": "*" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1633354821467&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmulticast-dns%2Fdownload%2Fmulticast-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": "https://registry.nlark.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.8.tgz", + "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", + "dev": true + }, + "nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz?cache=0&sync_timestamp=1634166192601&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.30.tgz", + "integrity": "sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I=", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/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.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "native-request": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/native-request/download/native-request-1.1.0.tgz?cache=0&sync_timestamp=1630540604934&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnative-request%2Fdownload%2Fnative-request-1.1.0.tgz", + "integrity": "sha1-rNsw/i7vo+G8jFSzpoUunFwNPLA=", + "dev": true, + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.nlark.com/needle/download/needle-2.9.1.tgz?cache=0&sync_timestamp=1630674995929&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fneedle%2Fdownload%2Fneedle-2.9.1.tgz", + "integrity": "sha1-ItHf++NJDCuD4wH3cJtnNs2PJoQ=", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "ng-alain": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/ng-alain/download/ng-alain-12.4.2.tgz", + "integrity": "sha512-BqKIqeHKbSu9VRgJCN8JelCYdelKFl7dIhQyG0lps1wWDJhhEBLVBdOmzITaC8kowKvL6DBJtOZf8SZJ687WYw==", + "dev": true, + "requires": { + "swagger-typescript-api": "^9.3.1" + } + }, + "ng-alain-plugin-theme": { + "version": "12.0.0", + "resolved": "https://registry.nlark.com/ng-alain-plugin-theme/download/ng-alain-plugin-theme-12.0.0.tgz?cache=0&sync_timestamp=1626077688559&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fng-alain-plugin-theme%2Fdownload%2Fng-alain-plugin-theme-12.0.0.tgz", + "integrity": "sha1-F5FVp/NG39v4fJTvUCNQprlETmA=", + "dev": true, + "requires": { + "@angular-devkit/build-angular": "^12.0.0", + "hash.js": "^1.0.0", + "less": "^3.12.0", + "less-plugin-clean-css": "^1.5.1", + "less-plugin-npm-import": "^2.1.0", + "less-vars-to-js": "^1.3.0", + "meow": "^7.1.0", + "postcss": "^7.0.0", + "strip-css-comments": "^4.1.0" + }, + "dependencies": { + "less": { + "version": "3.13.1", + "resolved": "https://registry.npmmirror.com/less/download/less-3.13.1.tgz", + "integrity": "sha1-DryR0qDpwMZzW4PUlrCrBYMHeQk=", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "native-request": "^1.0.5", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + } + } + }, + "ng-alain-sts": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/ng-alain-sts/download/ng-alain-sts-0.0.1.tgz", + "integrity": "sha1-Fmm8TXj7U3TdmlFgeYShR5j6Qn0=", + "dev": true, + "requires": { + "@types/swagger-schema-official": "^2.0.15", + "extend": "^3.0.2", + "meow": "^5.0.0", + "request": "^2.88.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1622604582006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-2.0.0.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/meow/download/meow-5.0.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-5.0.0.tgz", + "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-3.0.2.tgz", + "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/quick-lru/download/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-2.0.0.tgz?cache=0&sync_timestamp=1620070119923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-2.0.0.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "ng-gallery": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/ng-gallery/download/ng-gallery-5.1.1.tgz", + "integrity": "sha1-KtAgJ9WJ55817PcJIiLaIQzHvgE=", + "requires": { + "tslib": "^2.0.0" + } + }, + "ng-zorro-antd": { + "version": "12.0.2", + "resolved": "https://registry.npmmirror.com/ng-zorro-antd/download/ng-zorro-antd-12.0.2.tgz", + "integrity": "sha1-ih1BLid7lT35tYDNNmdEidfmTgM=", + "requires": { + "@angular/cdk": "^12.1.0", + "@ant-design/icons-angular": "^12.0.3", + "date-fns": "^2.10.0", + "tslib": "^2.2.0" + } + }, + "ngx-countdown": { + "version": "12.0.1", + "resolved": "https://registry.nlark.com/ngx-countdown/download/ngx-countdown-12.0.1.tgz", + "integrity": "sha1-C9au9MqDuvy8Pdk2bIRJTSuTzic=", + "requires": { + "tslib": "^2.1.0" + } + }, + "ngx-tinymce": { + "version": "12.0.0", + "resolved": "https://registry.nlark.com/ngx-tinymce/download/ngx-tinymce-12.0.0.tgz", + "integrity": "sha1-xTxfFUnLssOmoU4pBP3ZDa5xLzw=", + "requires": { + "@ng-util/lazy": "^11.1.0", + "@ng-util/util": "^11.1.0", + "tslib": "^2.1.0" + } + }, + "ngx-trend": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/ngx-trend/download/ngx-trend-7.0.0.tgz", + "integrity": "sha1-m6hRCd7EU+chOvO4gOJokkhG0ys=", + "requires": { + "tslib": "^2.1.0" + } + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/nice-napi/download/nice-napi-1.0.2.tgz", + "integrity": "sha1-3Aq1oerCDOVIgC/FaG6qa8ZUkns=", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz?cache=0&sync_timestamp=1614510016909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnice-try%2Fdownload%2Fnice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/node-addon-api/download/node-addon-api-3.2.1.tgz", + "integrity": "sha1-gTJeCiEXeJwBKNq2Xn448HzroWE=", + "dev": true, + "optional": true + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/node-emoji/download/node-emoji-1.11.0.tgz", + "integrity": "sha1-aaAVDmlG4vEV6dfqTfeXHiYoMBw=", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.6.tgz?cache=0&sync_timestamp=1636395469986&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.6.tgz", + "integrity": "sha1-F1GnwBg06OFpd1hzLp77burfr4k=", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/node-fetch-h2/download/node-fetch-h2-2.3.0.tgz", + "integrity": "sha1-xhiDJfm9PYNAIL8PLW3BfO0iQaw=", + "dev": true, + "requires": { + "http2-client": "^1.2.5" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.nlark.com/node-forge/download/node-forge-0.10.0.tgz", + "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", + "dev": true + }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/node-gyp/download/node-gyp-7.1.2.tgz?cache=0&sync_timestamp=1637570177658&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-gyp%2Fdownload%2Fnode-gyp-7.1.2.tgz", + "integrity": "sha1-IagQrrsYcSAlHDvOyXmvFYexiK4=", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/node-gyp-build/download/node-gyp-build-4.3.0.tgz?cache=0&sync_timestamp=1631436711963&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-gyp-build%2Fdownload%2Fnode-gyp-build-4.3.0.tgz", + "integrity": "sha1-nyVrA+WCYVC+Ocdkv1Hpk5RtcaM=", + "dev": true, + "optional": true + }, + "node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/node-readfiles/download/node-readfiles-0.2.0.tgz", + "integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=", + "dev": true, + "requires": { + "es6-promise": "^3.2.1" + } + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634806914912&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz", + "integrity": "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/nopt/download/nopt-5.0.0.tgz", + "integrity": "sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/normalize-selector/download/normalize-selector-0.2.0.tgz", + "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-6.1.0.tgz", + "integrity": "sha1-QNCIW1Nd7/4/MUe+yHfQX+TFZoo=", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/npm-bundled/download/npm-bundled-1.1.2.tgz", + "integrity": "sha1-lEx4eJvXOQNbcLqiylzDK42GC8E=", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/npm-install-checks/download/npm-install-checks-4.0.0.tgz", + "integrity": "sha1-o3+sx2Oi/eBJfvLG0Kx8P74A17Q=", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha1-bnmkHyP9I1wGIyGCKNp9nCO49uI=", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.nlark.com/npm-package-arg/download/npm-package-arg-8.1.5.tgz?cache=0&sync_timestamp=1623784505093&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnpm-package-arg%2Fdownload%2Fnpm-package-arg-8.1.5.tgz", + "integrity": "sha1-M2my1f6P3GdLqn8XhlFN3BVGbkQ=", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "2.2.2", + "resolved": "https://registry.nlark.com/npm-packlist/download/npm-packlist-2.2.2.tgz?cache=0&sync_timestamp=1629740697962&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnpm-packlist%2Fdownload%2Fnpm-packlist-2.2.2.tgz", + "integrity": "sha1-B2uXKT+mIPYygzGGp6j2WqphSMg=", + "dev": true, + "requires": { + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npm.taobao.org/npm-pick-manifest/download/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha1-e1SEyiyQhWX0O38nZE82u4FvUUg=", + "dev": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/npm-registry-fetch/download/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha1-aMG7gQxGVCdg1ipqll+FpwLUOnY=", + "dev": true, + "requires": { + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/npmlog/download/npmlog-4.1.2.tgz", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz", + "integrity": "sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I=", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.nlark.com/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nx": { + "version": "12.10.0", + "resolved": "https://registry.npmmirror.com/nx/download/nx-12.10.0.tgz", + "integrity": "sha1-pOj7pyVFKd5p/lTltLAH6KQyo/s=", + "dev": true, + "requires": { + "@nrwl/cli": "*" + }, + "dependencies": { + "@nrwl/cli": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/@nrwl/cli/download/@nrwl/cli-13.2.2.tgz", + "integrity": "sha512-iqWwULCgYV3r+sKA/jrh4Di5buesPDcmdG0vi4kFnMgNF3Pg+8Coa7qKXJXdTr1gugBfGPFFmHORmH1pE3CMYA==", + "dev": true, + "requires": { + "@nrwl/tao": "13.2.2", + "chalk": "4.1.0", + "enquirer": "~2.3.6", + "v8-compile-cache": "2.3.0", + "yargs": "15.4.1", + "yargs-parser": "20.0.0" + } + }, + "@nrwl/tao": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/@nrwl/tao/download/@nrwl/tao-13.2.2.tgz", + "integrity": "sha512-IQtiTuouagSYpxztJvxD1XYha1eLagFoJV/2Y7bu6jUx5KTT5chLzXbz18WUeKhkuZAHhhb2UeOmL9ggQpWnZQ==", + "dev": true, + "requires": { + "chalk": "4.1.0", + "enquirer": "~2.3.6", + "fs-extra": "^9.1.0", + "jsonc-parser": "3.0.0", + "nx": "13.2.2", + "rxjs": "^6.5.4", + "rxjs-for-await": "0.0.2", + "semver": "7.3.4", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "20.0.0" + }, + "dependencies": { + "nx": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/nx/download/nx-13.2.2.tgz", + "integrity": "sha512-d13Xb3pswItWS9sP4+ed4JarkTzo6+gCBNWSgxuO6MMkmKZPXH3yM3an9KlA5jCyFygcsny7CIgwwxJhz1SJCg==", + "dev": true, + "requires": { + "@nrwl/cli": "*" + } + } + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "20.0.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.0.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.0.0.tgz", + "integrity": "sha1-xlodqql3rWPOvdUhWRR7eJpOGak=", + "dev": true + } + } + }, + "oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/oas-kit-common/download/oas-kit-common-1.0.8.tgz", + "integrity": "sha1-bYys9ukJeWekx+qLy8vXcBjh9TU=", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/oas-linter/download/oas-linter-3.2.2.tgz", + "integrity": "sha1-q2ozc2MTSQZZA1ymgC3Es11Iqh4=", + "dev": true, + "requires": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + } + }, + "oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.nlark.com/oas-resolver/download/oas-resolver-2.5.6.tgz", + "integrity": "sha1-EEMFact9rKVhFckV5hHrxVFcVhs=", + "dev": true, + "requires": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-17.2.1.tgz", + "integrity": "sha1-4slbl5ag4ffzv0QnhjtC4EGBkeo=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/oas-schema-walker/download/oas-schema-walker-1.1.5.tgz", + "integrity": "sha1-dMPNR7cP+OCxmtraFEVbXTrDiiI=", + "dev": true + }, + "oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.nlark.com/oas-validator/download/oas-validator-5.0.8.tgz", + "integrity": "sha1-OH6Q33yvotP/yDtfuXYFK4fnPCg=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://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": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618846992533&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz?cache=0&sync_timestamp=1626120241132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.11.0.tgz", + "integrity": "sha1-nc6xRs7dQUig2eUauI00z1CZIrE=", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857698573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", + "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115183005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", + "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz?cache=0&sync_timestamp=1633326983597&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.values%2Fdownload%2Fobject.values-1.1.5.tgz", + "integrity": "sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz?cache=0&sync_timestamp=1614930634590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fon-finished%2Fdownload%2Fon-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz", + "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.2.1", + "resolved": "https://registry.npmmirror.com/open/download/open-8.2.1.tgz", + "integrity": "sha1-gt5C2gzL9Cm8EtCZ2tLgl14U6K8=", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + } + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz", + "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.nlark.com/ora/download/ora-5.4.1.tgz?cache=0&sync_timestamp=1631556658795&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fora%2Fdownload%2Fora-5.4.1.tgz", + "integrity": "sha1-GyZ4Qmr0rEpQkAjl5KyemVnbnhg=", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "outlayer": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/outlayer/download/outlayer-2.1.1.tgz", + "integrity": "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=", + "requires": { + "ev-emitter": "^1.0.0", + "fizzy-ui-utils": "^2.0.0", + "get-size": "^2.0.2" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/p-map/download/p-map-4.0.0.tgz?cache=0&sync_timestamp=1635931861684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-4.0.0.tgz", + "integrity": "sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs=", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1635966813736&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "pacote": { + "version": "11.3.5", + "resolved": "https://registry.npmmirror.com/pacote/download/pacote-11.3.5.tgz?cache=0&sync_timestamp=1634076714071&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpacote%2Fdownload%2Fpacote-11.3.5.tgz", + "integrity": "sha1-c88fw3crUz9XXjnvqWxQvow9ydI=", + "dev": true, + "requires": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.8.2", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.nlark.com/pako/download/pako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" + }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/parchment/download/parchment-1.1.4.tgz", + "integrity": "sha1-rt7Xq5OP6SHUw0vDOc4RaLwv/eU=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/parse-entities/download/parse-entities-2.0.0.tgz", + "integrity": "sha1-U8brW5MUofTsmfoP33zgHs2gy+g=", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz", + "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/download/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", + "dev": true + }, + "parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/parse-svg-path/download/parse-svg-path-0.1.2.tgz", + "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "optional": true + }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/parse5-html-rewriting-stream/download/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha1-3hggVZMXq05FHqctugX939kUSAs=", + "dev": true, + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5-sax-parser/download/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha1-mLTTZrWyZqfNkLS1iQZmeviC2ro=", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/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": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz?cache=0&sync_timestamp=1622604553837&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-is-inside%2Fdownload%2Fpath-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz?cache=0&sync_timestamp=1621947783503&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", + "dev": true + }, + "perfect-scrollbar": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/perfect-scrollbar/download/perfect-scrollbar-1.5.3.tgz?cache=0&sync_timestamp=1635159385205&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fperfect-scrollbar%2Fdownload%2Fperfect-scrollbar-1.5.3.tgz", + "integrity": "sha1-292EBx+EYNuf+JMhTtUBWWrZ3Fo=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz", + "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648305056&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://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": "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "piscina": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/piscina/download/piscina-3.1.0.tgz", + "integrity": "sha1-IzNjaGW2y2nFo3C7xJmpjKvPPgQ=", + "dev": true, + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/pkg-up/download/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz", + "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "point-at-length": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/point-at-length/download/point-at-length-1.1.0.tgz", + "integrity": "sha1-CtcuvQmA1/WhqxIpbAVfnrazDlc=", + "requires": { + "abs-svg-path": "~0.1.1", + "isarray": "~0.0.1", + "parse-svg-path": "~0.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz", + "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.3.6.tgz", + "integrity": "sha1-JzDddql5afN/U7mmCWGXvjEcxOo=", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "dependencies": { + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/source-map-js/download/source-map-js-0.6.2.tgz?cache=0&sync_timestamp=1636400772640&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "dev": true + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz?cache=0&sync_timestamp=1600194210360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-attribute-case-insensitive%2Fdownload%2Fpostcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha1-2T5GtQRYnpSscnewRjImxoBBqIA=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-8.0.0.tgz?cache=0&sync_timestamp=1609689191682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-8.0.0.tgz", + "integrity": "sha1-oFuHqs0TJ0Cl2wlGKjYSRT5d+Qo=", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz", + "integrity": "sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc=", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz?cache=0&sync_timestamp=1632320902580&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-color-hex-alpha%2Fdownload%2Fpostcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g=", + "dev": true, + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0=", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-colormin": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-5.2.1.tgz", + "integrity": "sha1-bkRKgG/TxXiCfbrQInYt8ZM0QU0=", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-convert-values": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-5.0.2.tgz?cache=0&sync_timestamp=1635857664165&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-5.0.2.tgz", + "integrity": "sha1-h5uEncNnfH1ryUtqLBo/CAh5gFk=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.nlark.com/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz", + "integrity": "sha1-//0T/+/61zYhvl84cHaiiwApTgw=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.nlark.com/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz?cache=0&sync_timestamp=1631899559309&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-custom-properties%2Fdownload%2Fpostcss-custom-properties-8.0.11.tgz", + "integrity": "sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc=", + "dev": true, + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz?cache=0&sync_timestamp=1610469257838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-custom-selectors%2Fdownload%2Fpostcss-custom-selectors-5.1.2.tgz", + "integrity": "sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz?cache=0&sync_timestamp=1631886211698&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-dir-pseudo-class%2Fdownload%2Fpostcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha1-bjpBd9Dts6vMhf22+7HCbauuq6I=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-comments/download/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha1-nq5LdHz3YNMfJEfCfwYZ1XGJAf4=", + "dev": true + }, + "postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-duplicates/download/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha1-aPfMZFj+a6suRsn1WuUoafaA5m0=", + "dev": true + }, + "postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-empty/download/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha1-7hNsOeJ9XS7U2g7l7QK8ip+L9tg=", + "dev": true + }, + "postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-overridden/download/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha1-RUtB9wcwC5gQmnUAXKSrD/J0OsY=", + "dev": true + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4=", + "dev": true, + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/postcss-env-function/download/postcss-env-function-2.0.2.tgz?cache=0&sync_timestamp=1637256010098&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-env-function%2Fdownload%2Fpostcss-env-function-2.0.2.tgz", + "integrity": "sha1-Dz49PFfwlKksK69LYkHwsNpTZdc=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz?cache=0&sync_timestamp=1632317515654&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-focus-visible%2Fdownload%2Fpostcss-focus-visible-4.0.0.tgz", + "integrity": "sha1-R30QcROt5gJLFBKDF63ivR4XBG4=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-focus-within%2Fdownload%2Fpostcss-focus-within-3.0.0.tgz", + "integrity": "sha1-djuHiFls7puHTJmSAc3egGWe9oA=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.1.tgz", + "integrity": "sha1-QtTAqzCJT2D5ixdWHrXAMh9QJkE=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz?cache=0&sync_timestamp=1631886207918&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-gap-properties%2Fdownload%2Fpostcss-gap-properties-2.0.0.tgz", + "integrity": "sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmmirror.com/postcss-html/download/postcss-html-0.36.0.tgz", + "integrity": "sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha1-KJIKLymUW+1MMZjX32SW1BDT8og=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.nlark.com/postcss-import/download/postcss-import-14.0.2.tgz", + "integrity": "sha1-YO/3fmvpLntn/kaex5fZQkyuGqE=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.4.tgz", + "integrity": "sha1-nTIGmhBTH+Lsr6C2rHUO4Lx+/FM=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-jsx": { + "version": "0.36.4", + "resolved": "https://registry.npm.taobao.org/postcss-jsx/download/postcss-jsx-0.36.4.tgz", + "integrity": "sha1-N6aPMAo55XSNVH8Zp0ezJXJAvVA=", + "dev": true, + "requires": { + "@babel/core": ">=7.2.2" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz?cache=0&sync_timestamp=1637260919901&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-lab-function%2Fdownload%2Fpostcss-lab-function-2.0.1.tgz", + "integrity": "sha1-u1GmhWzRIomrSuINseOCHvE9fS4=", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.nlark.com/postcss-less/download/postcss-less-3.1.4.tgz?cache=0&sync_timestamp=1627347193371&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-less%2Fdownload%2Fpostcss-less-3.1.4.tgz", + "integrity": "sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/postcss-loader/download/postcss-loader-6.1.1.tgz", + "integrity": "sha1-WN0KOszZvIfMUu/3UkTbV40RMBo=", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/postcss-logical/download/postcss-logical-3.0.0.tgz", + "integrity": "sha1-JJXQ+LgunyYnJfdflAGzTntF1bU=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-markdown": { + "version": "0.36.0", + "resolved": "https://registry.npmmirror.com/postcss-markdown/download/postcss-markdown-0.36.0.tgz", + "integrity": "sha1-fyKEmuDj2xiCC3sNXngz8TpEdWA=", + "dev": true, + "requires": { + "remark": "^10.0.1", + "unist-util-find-all-after": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/parse-entities/download/parse-entities-1.2.2.tgz", + "integrity": "sha1-wxvw9lO2ZhNU+Jc1WcuG3R1e31A=", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "remark": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/remark/download/remark-10.0.1.tgz?cache=0&sync_timestamp=1637258856657&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark%2Fdownload%2Fremark-10.0.1.tgz", + "integrity": "sha1-MFgHbcQXgb9QXYl4wpFIX+R2Z98=", + "dev": true, + "requires": { + "remark-parse": "^6.0.0", + "remark-stringify": "^6.0.0", + "unified": "^7.0.0" + } + }, + "remark-parse": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/remark-parse/download/remark-parse-6.0.3.tgz", + "integrity": "sha1-yZExBSgJ2kghCEE/h7Duf1IYCjo=", + "dev": true, + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-stringify": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/remark-stringify/download/remark-stringify-6.0.4.tgz", + "integrity": "sha1-FqwinU0VkySQGGY8e93yiq/E4Ig=", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "unified": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/unified/download/unified-7.1.0.tgz", + "integrity": "sha1-UDLxwe4zZL0J2hLif91KdVPHvhM=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "@types/vfile": "^3.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^3.0.0", + "x-is-string": "^0.1.0" + } + }, + "unist-util-find-all-after": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-find-all-after%2Fdownload%2Funist-util-find-all-after-1.0.5.tgz", + "integrity": "sha1-V1GoYIg09B0RetnFd3cMXy8bKJk=", + "dev": true, + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-3.0.0.tgz?cache=0&sync_timestamp=1626874922677&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-3.0.0.tgz", + "integrity": "sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0=", + "dev": true + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-stringify-position%2Fdownload%2Funist-util-stringify-position-1.1.2.tgz", + "integrity": "sha1-Pzf881EnncvKdICrWIm7ioMu4cY=", + "dev": true + }, + "vfile": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/vfile/download/vfile-3.0.1.tgz", + "integrity": "sha1-RzMdKr4ygkJPSku2rNIKRMQSGAM=", + "dev": true, + "requires": { + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-1.1.1.tgz?cache=0&sync_timestamp=1628780833868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-1.1.1.tgz", + "integrity": "sha1-WDOuB4od+i2W6WR4hs0ymTqzE+E=", + "dev": true, + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + } + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz?cache=0&sync_timestamp=1610466264580&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-media-minmax%2Fdownload%2Fpostcss-media-minmax-4.0.0.tgz", + "integrity": "sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true + }, + "postcss-merge-longhand": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-5.0.4.tgz?cache=0&sync_timestamp=1637084982494&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-5.0.4.tgz", + "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + } + }, + "postcss-merge-rules": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/download/postcss-merge-rules-5.0.3.tgz?cache=0&sync_timestamp=1637085799347&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-5.0.3.tgz", + "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-minify-font-values/download/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha1-qQzvv9qgdb09uqGzNYi7TcJord8=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-5.0.3.tgz?cache=0&sync_timestamp=1635856917388&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-5.0.3.tgz", + "integrity": "sha1-+XChHMceCOkJXnjsOms0uRwZVQ4=", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-params": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-minify-params/download/postcss-minify-params-5.0.2.tgz?cache=0&sync_timestamp=1637084983019&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-5.0.2.tgz", + "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.6", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/postcss-minify-selectors/download/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha1-Q4XIRdOXn/FgKRd0Uj/6VOr9WlQ=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587625149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz?cache=0&sync_timestamp=1602586215124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-4.0.0.tgz", + "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/postcss-nesting/download/postcss-nesting-7.0.1.tgz?cache=0&sync_timestamp=1637236305822&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-nesting%2Fdownload%2Fpostcss-nesting-7.0.1.tgz", + "integrity": "sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-charset/download/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha1-EhVZ0b68VayNJK839nvU2p79kdA=", + "dev": true + }, + "postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-display-values/download/postcss-normalize-display-values-5.0.1.tgz?cache=0&sync_timestamp=1621449652268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha1-YmULllmBqVXf/ugzY0U9uC9q0f0=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-positions/download/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha1-ho9q8Xlf36hvu+lg3OtH5flJL+U=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha1-y8DeE4O1f1u2Hd1qhGU7XoZlsrU=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-string/download/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha1-2er6pN94x6O5c640bvDkfFVJhbA=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha1-juQRA7kTBCnGy7pzaTK3XF4ssIw=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-unicode/download/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha1-gtZy1kikEYFKpb865WU3nM2fXjc=", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-normalize-url/download/postcss-normalize-url-5.0.3.tgz?cache=0&sync_timestamp=1637084983535&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-5.0.3.tgz", + "integrity": "sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg==", + "dev": true, + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha1-sLQLW8rINYX/B+rS2vLc++7vjpo=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.nlark.com/postcss-ordered-values/download/postcss-ordered-values-5.0.2.tgz?cache=0&sync_timestamp=1623330460500&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-5.0.2.tgz", + "integrity": "sha1-HzUUJpd74A4PdlsxZK11PayO0EQ=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha1-MezzUOnG9t3CUKePDD4RHzLdTDA=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/postcss-page-break/download/postcss-page-break-2.0.0.tgz", + "integrity": "sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-place/download/postcss-place-4.0.1.tgz?cache=0&sync_timestamp=1637322613194&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-place%2Fdownload%2Fpostcss-place-4.0.1.tgz", + "integrity": "sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmmirror.com/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz?cache=0&sync_timestamp=1637321343139&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-preset-env%2Fdownload%2Fpostcss-preset-env-6.7.0.tgz", + "integrity": "sha1-w03az4+QI4OzWtHgMPF49M3xGKU=", + "dev": true, + "requires": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha1-LtPu05OzcCh53sSocDKyENrrBNE=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-reduce-initial/download/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha1-nWNphlsPb29rFloO9dwaSFbH6UY=", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-reduce-transforms/download/postcss-reduce-transforms-5.0.1.tgz?cache=0&sync_timestamp=1621449730895&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha1-k8EvahWUdKpxHVJpkj4jg87c9kA=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-reporter": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/postcss-reporter/download/postcss-reporter-6.0.1.tgz", + "integrity": "sha1-fAVRIAYKl8iDe05IIVZhqvt0JF8=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "postcss": "^7.0.7" + }, + "dependencies": { + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "dev": true + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha1-ptTkjw832ffBGypYG/APi6SHC5Y=", + "dev": true, + "requires": { + "postcss": "^7.0.26" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.nlark.com/postcss-sass/download/postcss-sass-0.4.4.tgz", + "integrity": "sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM=", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1635496103823&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz", + "integrity": "sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M=", + "dev": true, + "requires": { + "postcss": "^7.0.6" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-matches%2Fdownload%2Fpostcss-selector-matches-4.0.0.tgz", + "integrity": "sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-selector-not/download/postcss-selector-not-4.0.1.tgz?cache=0&sync_timestamp=1612096191464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-not%2Fdownload%2Fpostcss-selector-not-4.0.1.tgz", + "integrity": "sha1-JjAW7vHPIZ4K3pqRN4D8H0ggTL8=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", + "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-sorting/download/postcss-sorting-4.1.0.tgz", + "integrity": "sha1-oQfwvzhSl3+mTkRCvDQMiNWqzbM=", + "dev": true, + "requires": { + "lodash": "^4.17.4", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-svgo": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-5.0.3.tgz", + "integrity": "sha1-2UUYV1bl36rgf57bDTyuf/efmzA=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.7.0" + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npm.taobao.org/postcss-syntax/download/postcss-syntax-0.36.2.tgz", + "integrity": "sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=", + "dev": true + }, + "postcss-unique-selectors": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/download/postcss-unique-selectors-5.0.2.tgz?cache=0&sync_timestamp=1637084982907&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-5.0.2.tgz", + "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz", + "integrity": "sha1-2otHLZAdoeIFtHvcmGN7np5VDl8=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "preact": { + "version": "10.6.1", + "resolved": "https://registry.npmmirror.com/preact/download/preact-10.6.1.tgz", + "integrity": "sha512-ydCg+ISIq70vqiThvNWStZWLRjR9U2awP/JAmGdWUKm9+Tyuy+MqVdAIyEByeIspAVtD4GWC/SJtxO8XD4knVA==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.2.1.tgz", + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", + "dev": true + }, + "prettier": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/prettier/download/prettier-2.5.0.tgz", + "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s=", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.6.0.tgz", + "integrity": "sha1-NWJW9kOAR3PIL2RyP+eMksYr6us=", + "dev": true + }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/printj/download/printj-1.1.2.tgz", + "integrity": "sha1-2Q3rKXWoufYA+zoclOP0xTx4oiI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "promise": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/promise/download/promise-7.0.4.tgz", + "integrity": "sha1-Nj6EpMNsg1a4kP7WLJHOhdAu1Tk=", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/promise-retry/download/promise-retry-2.0.1.tgz", + "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/protractor/download/protractor-7.0.0.tgz", + "integrity": "sha1-w+JjYIvXLiwtyAKxGncnEaR5LQM=", + "dev": true, + "requires": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://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.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/globby/download/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-1.0.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-1.0.1.tgz", + "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-1.0.1.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.4.18.tgz", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "webdriver-manager": { + "version": "12.1.8", + "resolved": "https://registry.nlark.com/webdriver-manager/download/webdriver-manager-12.1.8.tgz", + "integrity": "sha1-XnDnPqr1Ogdn1XRScK3a+8WQX9Q=", + "dev": true, + "requires": { + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz", + "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", + "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/q/download/q-1.4.1.tgz?cache=0&sync_timestamp=1599054212574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fq%2Fdownload%2Fq-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/qjobs/download/qjobs-1.2.0.tgz", + "integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.nlark.com/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz", + "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz", + "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/download/quick-lru-4.0.1.tgz", + "integrity": "sha1-W4h48ROlgheEjGSCAmxz4bpXcn8=", + "dev": true + }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npm.taobao.org/quill/download/quill-1.3.7.tgz", + "integrity": "sha1-2lsvOixHDpMjQM2/NmjJ8h+Shug=", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.nlark.com/quill-delta/download/quill-delta-3.6.3.tgz", + "integrity": "sha1-sZ/SuJQSMBxg4f8hPY2GDqwPEDI=", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + }, + "quill-image-resize-module": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/quill-image-resize-module/download/quill-image-resize-module-3.0.0.tgz", + "integrity": "sha1-D9k3Rqg3M22VsvU2FAQWpiPHF3E=", + "requires": { + "lodash": "^4.17.4", + "quill": "^1.2.2", + "raw-loader": "^0.5.1" + }, + "dependencies": { + "acorn": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-5.0.2.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-5.0.2.tgz", + "integrity": "sha1-3ByPuQf2TbKrVz3iMmtzUnwk3jY=" + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-4.0.11.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-4.0.11.tgz", + "integrity": "sha1-7c2jvZN+dVZBDULtWGD2c5nHlMA=" + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-3.0.1.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-3.3.0.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + } + } + }, + "ajv": { + "version": "4.11.5", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-4.11.5.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-4.11.5.tgz", + "integrity": "sha1-tu50ZXuZOgHc5Et5RNVvSFgo1b0=", + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=" + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/align-text/download/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-1.4.0.tgz?cache=0&sync_timestamp=1618847144938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-1.3.0.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "requires": { + "arrify": "^1.0.0", + "micromatch": "^2.1.5" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.nlark.com/argparse/download/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/aria-query/download/aria-query-0.3.0.tgz?cache=0&sync_timestamp=1633308188641&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faria-query%2Fdownload%2Faria-query-0.3.0.tgz", + "integrity": "sha1-y4qZhOKGJxHIPICt5bj1yg3itGc=", + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.0.1.tgz?cache=0&sync_timestamp=1618846805394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farr-flatten%2Fdownload%2Farr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1622605321175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "array.prototype.find": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/array.prototype.find/download/array.prototype.find-2.0.4.tgz", + "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "async": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/async/download/async-2.3.0.tgz", + "integrity": "sha1-EBPRBRBH3TIP4k5JTVxm7K9hR9k=", + "requires": { + "lodash": "^4.14.0" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "babel-cli": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-cli/download/babel-cli-6.24.0.tgz", + "integrity": "sha1-oF/9IQ3KDCiKJtUxnFrIZpomWtA=", + "requires": { + "babel-core": "^6.24.0", + "babel-polyfill": "^6.23.0", + "babel-register": "^6.24.0", + "babel-runtime": "^6.22.0", + "chokidar": "^1.6.1", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.0.0", + "glob": "^7.0.0", + "lodash": "^4.2.0", + "output-file-sync": "^1.1.0", + "path-is-absolute": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "v8flags": "^2.0.10" + } + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-code-frame/download/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "babel-core": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.24.0.tgz", + "integrity": "sha1-jzagp39cFVrtb5ILhE0julZ0KgI=", + "requires": { + "babel-code-frame": "^6.22.0", + "babel-generator": "^6.24.0", + "babel-helpers": "^6.23.0", + "babel-messages": "^6.23.0", + "babel-register": "^6.24.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.11.0", + "convert-source-map": "^1.1.0", + "debug": "^2.1.1", + "json5": "^0.5.0", + "lodash": "^4.2.0", + "minimatch": "^3.0.2", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "slash": "^1.0.0", + "source-map": "^0.5.0" + } + }, + "babel-eslint": { + "version": "7.2.1", + "resolved": "https://registry.npmmirror.com/babel-eslint/download/babel-eslint-7.2.1.tgz", + "integrity": "sha1-B5Qi63O6gR48oIZc6Hrykyf4xS8=", + "requires": { + "babel-code-frame": "^6.22.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.16.1" + } + }, + "babel-generator": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.24.0.tgz", + "integrity": "sha1-66JwqMxM5uCaYb5DRl18YsH4fFY=", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz", + "integrity": "sha1-Kd9WvhRNgb3qwIJiv6QdLF6Rzc0=", + "requires": { + "babel-helper-explode-assignable-expression": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.22.0.tgz", + "integrity": "sha1-EZkhtWEg8X6drj90tPXMe8wbN+8=", + "requires": { + "babel-helper-hoist-variables": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-define-map": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helper-define-map/download/babel-helper-define-map-6.23.0.tgz", + "integrity": "sha1-FET5YMlpHWmiztaiBTFfj9AIBOc=", + "requires": { + "babel-helper-function-name": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0", + "lodash": "^4.2.0" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.22.0.tgz", + "integrity": "sha1-yXv3bu0+C65ASBIfK52uGk59BHg=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-function-name": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helper-function-name/download/babel-helper-function-name-6.23.0.tgz", + "integrity": "sha1-JXQtZxdciQPb5LbLnZ4fy43PI6Y=", + "requires": { + "babel-helper-get-function-arity": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.22.0.tgz", + "integrity": "sha1-C+tGStadxzR0EKxq3p8DpQY09c4=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.22.0.tgz", + "integrity": "sha1-Pqy/cx2AcFhF3S6XGPYAz7m0unI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.23.0.tgz", + "integrity": "sha1-8+5+7TVbQoITizPQK3g2nkcGIvU=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0" + } + }, + "babel-helper-regex": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-regex/download/babel-helper-regex-6.22.0.tgz", + "integrity": "sha1-efUyvhZHsfDuNHS19cPaWAAdJH0=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0", + "lodash": "^4.2.0" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.22.0.tgz", + "integrity": "sha1-IYaucyeO0DuLFc7QiWCdqYEFM4M=", + "requires": { + "babel-helper-function-name": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.22.0", + "babel-traverse": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helper-replace-supers/download/babel-helper-replace-supers-6.23.0.tgz", + "integrity": "sha1-7q+K2bWOxDN8qUIjus3KH42bS/0=", + "requires": { + "babel-helper-optimise-call-expression": "^6.23.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-helpers": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helpers/download/babel-helpers-6.23.0.tgz", + "integrity": "sha1-T48uCS0LaogIpL3nnCfx4uzw2ZI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-loader": { + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/babel-loader/download/babel-loader-6.4.1.tgz?cache=0&sync_timestamp=1634769717079&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-loader%2Fdownload%2Fbabel-loader-6.4.1.tgz", + "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", + "requires": { + "find-cache-dir": "^0.1.1", + "loader-utils": "^0.2.16", + "mkdirp": "^0.5.1", + "object-assign": "^4.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-messages/download/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.22.0.tgz", + "integrity": "sha1-GUtpOOwZWtNu/EwzqXGs8A2M014=", + "requires": { + "babel-helper-remap-async-to-generator": "^6.22.0", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.23.0.tgz", + "integrity": "sha1-GHt0fuQEOZATVjyZPbA480dUrDs=", + "requires": { + "babel-helper-function-name": "^6.23.0", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz", + "integrity": "sha1-5IiVzws3W+FIzXyIebQicHoFO1E=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0", + "lodash": "^4.2.0" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.23.0.tgz", + "integrity": "sha1-SbU/MmICov0bO7ql4u3YpPeGQ8E=", + "requires": { + "babel-helper-define-map": "^6.23.0", + "babel-helper-function-name": "^6.23.0", + "babel-helper-optimise-call-expression": "^6.23.0", + "babel-helper-replace-supers": "^6.23.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz", + "integrity": "sha1-fDg+lim7pIIMEbBCW91ikPfwV+c=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz", + "integrity": "sha1-ZyOXAxwhYQ1y3Su7C6n7Ynfhw2s=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.22.0.tgz", + "integrity": "sha1-9fzIsJCT+aI8dqw9njksPsS3cQQ=", + "requires": { + "babel-helper-function-name": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz", + "integrity": "sha1-oZEfubfsfgWkOmPFmVAHVXvPai4=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.24.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz", + "integrity": "sha1-6SGu+3LCzCbLA9EHYmFWQTIiE08=", + "requires": { + "babel-plugin-transform-strict-mode": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz", + "integrity": "sha1-rjRpIn/6w5sDENkP7HO/3E9jF7A=", + "requires": { + "babel-helper-hoist-variables": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz", + "integrity": "sha1-/V+mNSHK6NJzknw5WK/XwGdzNFA=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.22.0.tgz", + "integrity": "sha1-2qYOEUoELqdp3VP+Uo/IIxHrmPw=", + "requires": { + "babel-helper-replace-supers": "^6.22.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.23.0.tgz", + "integrity": "sha1-OiqrtwyK+UXVzjhvGkJQYlqDrjs=", + "requires": { + "babel-helper-call-delegate": "^6.22.0", + "babel-helper-get-function-arity": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz", + "integrity": "sha1-i6d24K/6pgv/IekhQDuKZSov9yM=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz", + "integrity": "sha1-qzFoKehm7j9LnrlpOXV9GaW8RZM=", + "requires": { + "babel-helper-regex": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz", + "integrity": "sha1-jZzCfn7h3s/mVFT7mGRSoEphPSA=", + "requires": { + "babel-helper-regex": "^6.22.0", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.22.0.tgz", + "integrity": "sha1-1XyDNSgZGOVO8FMRjObrEIRoCE0=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.22.0", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.22.0.tgz", + "integrity": "sha1-ZXQFk6MZxEUiFXU41pC4QJRhfqY=", + "requires": { + "regenerator-transform": "0.9.8" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.22.0.tgz", + "integrity": "sha1-4AjfATQP3IfpWdplmRt+BZcMjHw=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-polyfill/download/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "^6.22.0", + "core-js": "^2.4.0", + "regenerator-runtime": "^0.10.0" + } + }, + "babel-preset-env": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/babel-preset-env/download/babel-preset-env-1.3.2.tgz", + "integrity": "sha1-COq9K/gQw2eAaffgUjI0GfFEh0k=", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^1.4.0", + "invariant": "^2.2.2" + } + }, + "babel-preset-es2015": { + "version": "6.24.0", + "resolved": "https://registry.npmmirror.com/babel-preset-es2015/download/babel-preset-es2015-6.24.0.tgz", + "integrity": "sha1-wWLWixkyaW4DbNMRDcHM0wPSZzo=", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.22.0", + "babel-plugin-transform-es2015-classes": "^6.22.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.22.0", + "babel-plugin-transform-es2015-modules-umd": "^6.24.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.22.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0" + } + }, + "babel-register": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.24.0.tgz", + "integrity": "sha1-Xon4RjuplwNW0C6wfavjMIsIDP0=", + "requires": { + "babel-core": "^6.24.0", + "babel-runtime": "^6.22.0", + "core-js": "^2.4.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.2" + } + }, + "babel-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.23.0.tgz", + "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.10.0" + } + }, + "babel-template": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-template/download/babel-template-6.23.0.tgz", + "integrity": "sha1-BNTycK27OqcEqBQ64m+qUpI45jg=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + } + }, + "babel-traverse": { + "version": "6.23.1", + "resolved": "https://registry.nlark.com/babel-traverse/download/babel-traverse-6.23.1.tgz", + "integrity": "sha1-08tZAQ7NBql9gTEAZflmtpnhT0g=", + "requires": { + "babel-code-frame": "^6.22.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0", + "babylon": "^6.15.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + } + }, + "babel-types": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-types/download/babel-types-6.23.0.tgz", + "integrity": "sha1-uxcXnXU4utOM0MnhFdNA935+ms8=", + "requires": { + "babel-runtime": "^6.22.0", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + } + }, + "babylon": { + "version": "6.16.1", + "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.16.1.tgz", + "integrity": "sha1-MMWiL0gZeKnn+M399JaxHZS0BNM=" + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "base64-js": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.2.0.tgz", + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" + }, + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.nlark.com/big.js/download/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" + }, + "binary-extensions": { + "version": "1.8.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.8.0.tgz", + "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=" + }, + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/browserify-aes/download/browserify-aes-1.0.6.tgz", + "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "requires": { + "buffer-xor": "^1.0.2", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/browserify-cipher/download/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/browserify-des/download/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.nlark.com/browserify-sign/download/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/browserify-zlib/download/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "~0.2.0" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.nlark.com/buffer/download/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/buffer-shims/download/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/caller-path/download/caller-path-0.1.0.tgz?cache=0&sync_timestamp=1633674209796&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/callsites/download/callsites-0.2.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-1.2.1.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caniuse-db": { + "version": "1.0.30000646", + "resolved": "https://registry.npmmirror.com/caniuse-db/download/caniuse-db-1.0.30000646.tgz", + "integrity": "sha1-xyS5DWHfJChuAV/FKNBiBzwA3vQ=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-1.6.1.tgz", + "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=", + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "cipher-base": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.3.tgz", + "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", + "requires": { + "inherits": "^2.0.1" + } + }, + "circular-json": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/circular-json/download/circular-json-0.3.1.tgz", + "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=" + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/cli-cursor/download/cli-cursor-1.0.2.tgz?cache=0&sync_timestamp=1629747506749&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-width": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/cli-width/download/cli-width-2.1.0.tgz", + "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/commander/download/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/concat-stream/download/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/console-browserify/download/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/contains-path/download/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.5.0.tgz?cache=0&sync_timestamp=1624045508580&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" + }, + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/core-js/download/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/create-hash/download/create-hash-1.1.2.tgz", + "integrity": "sha1-USEAYte7dHn2xlu0GpIgix1hq60=", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^1.0.0", + "sha.js": "^2.3.6" + } + }, + "create-hmac": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/create-hmac/download/create-hmac-1.1.4.tgz", + "integrity": "sha1-0/tLolPriz9W456i+8uK90e9MXA=", + "requires": { + "create-hash": "^1.1.0", + "inherits": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.11.0", + "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.11.0.tgz", + "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/d/download/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "requires": { + "es5-ext": "^0.10.9" + } + }, + "damerau-levenshtein": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/damerau-levenshtein/download/damerau-levenshtein-1.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdamerau-levenshtein%2Fdownload%2Fdamerau-levenshtein-1.0.4.tgz", + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=" + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/date-now/download/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "debug": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.3.tgz", + "integrity": "sha1-D364wwll7AjHKsz6ATDIt5mEFB0=", + "requires": { + "ms": "0.7.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055756574&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/deep-equal/download/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/del/download/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/detect-indent/download/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "doctrine": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/domain-browser/download/domain-browser-1.1.7.tgz?cache=0&sync_timestamp=1627591557212&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + }, + "electron-to-chromium": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.2.tgz", + "integrity": "sha1-uM5ck7MI2w6S9tBDXEbd7I9jY6s=" + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-6.4.1.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-6.4.1.tgz", + "integrity": "sha1-d0hv6c1FQh0mCmI4uI1yHi+tIFA=" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "enhanced-resolve": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-3.1.0.tgz", + "integrity": "sha1-n0tib1dyRe3PSyrYPYbhf09CHew=", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.5" + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/errno/download/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "requires": { + "prr": "~0.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/error-ex/download/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.7.0.tgz?cache=0&sync_timestamp=1633234313248&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.7.0.tgz", + "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.0", + "is-callable": "^1.1.3", + "is-regex": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "es5-ext": { + "version": "0.10.15", + "resolved": "https://registry.nlark.com/es5-ext/download/es5-ext-0.10.15.tgz", + "integrity": "sha1-wzClk0we4hKEp8CBqG5f2TfJHqY=", + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "es6-iterator": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-symbol": "^3.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/es6-map/download/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/es6-weak-map/download/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmmirror.com/eslint/download/eslint-3.19.0.tgz?cache=0&sync_timestamp=1637475730061&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "dependencies": { + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/user-home/download/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "requires": { + "os-homedir": "^1.0.0" + } + } + } + }, + "eslint-config-airbnb": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/eslint-config-airbnb/download/eslint-config-airbnb-14.1.0.tgz", + "integrity": "sha1-NV0pAEC7+OAL+LSxn0twy+fCMX8=", + "requires": { + "eslint-config-airbnb-base": "^11.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "11.1.2", + "resolved": "https://registry.npmmirror.com/eslint-config-airbnb-base/download/eslint-config-airbnb-base-11.1.2.tgz?cache=0&sync_timestamp=1636442475199&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-config-airbnb-base%2Fdownload%2Feslint-config-airbnb-base-11.1.2.tgz", + "integrity": "sha1-JZIJp2eL9pPjHL6PlT8ga2qnzMM=" + }, + "eslint-import-resolver-node": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.2.3.tgz?cache=0&sync_timestamp=1629046642917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.2.3.tgz", + "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", + "requires": { + "debug": "^2.2.0", + "object-assign": "^4.0.1", + "resolve": "^1.1.6" + } + }, + "eslint-module-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.0.0.tgz?cache=0&sync_timestamp=1634151608499&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.0.0.tgz", + "integrity": "sha1-pvjCHZATWHWc3DXbrBmCrh7li84=", + "requires": { + "debug": "2.2.0", + "pkg-dir": "^1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/ms/download/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + } + } + }, + "eslint-plugin-import": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.2.0.tgz?cache=0&sync_timestamp=1636529205526&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.2.0.tgz", + "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", + "requires": { + "builtin-modules": "^1.1.1", + "contains-path": "^0.1.0", + "debug": "^2.2.0", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.2.0", + "eslint-module-utils": "^2.0.0", + "has": "^1.0.1", + "lodash.cond": "^4.3.0", + "minimatch": "^3.0.3", + "pkg-up": "^1.0.0" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-4.0.0.tgz?cache=0&sync_timestamp=1636698418809&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-jsx-a11y%2Fdownload%2Feslint-plugin-jsx-a11y-4.0.0.tgz", + "integrity": "sha1-d5uw/nsI2lZKQiYkkR3hAGHgSO4=", + "requires": { + "aria-query": "^0.3.0", + "ast-types-flow": "0.0.7", + "damerau-levenshtein": "^1.0.0", + "emoji-regex": "^6.1.0", + "jsx-ast-utils": "^1.0.0", + "object-assign": "^4.0.1" + } + }, + "eslint-plugin-react": { + "version": "6.10.3", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/download/eslint-plugin-react-6.10.3.tgz", + "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", + "requires": { + "array.prototype.find": "^2.0.1", + "doctrine": "^1.2.2", + "has": "^1.0.1", + "jsx-ast-utils": "^1.3.4", + "object.assign": "^4.0.4" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "espree": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/espree/download/espree-3.4.1.tgz?cache=0&sync_timestamp=1637466456948&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fespree%2Fdownload%2Fespree-3.4.1.tgz", + "integrity": "sha1-KKg6tKrtce2P4PXv5ht2oFwTxNI=", + "requires": { + "acorn": "^5.0.1", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/esquery/download/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.1.0.tgz", + "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", + "requires": { + "estraverse": "~4.1.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "estraverse": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.1.1.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.1.1.tgz", + "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=" + } + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.2.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/esutils/download/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.nlark.com/event-emitter/download/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/events/download/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "evp_bytestokey": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/evp_bytestokey/download/evp_bytestokey-1.0.0.tgz", + "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "requires": { + "create-hash": "^1.1.1" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/exit-hook/download/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.nlark.com/expand-range/download/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/extend/download/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=" + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/extglob/download/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "fast-diff": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.1.tgz", + "integrity": "sha1-CuoOTmBbaiGJ8Ok21Lf7rxt8/Zs=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/figures/download/figures-1.7.0.tgz?cache=0&sync_timestamp=1625254307578&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=" + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "requires": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/for-own/download/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "fs-readdir-recursive": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/fs-readdir-recursive/download/fs-readdir-recursive-1.0.0.tgz", + "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-1.1.1.tgz", + "integrity": "sha1-8Z/Sj0Pur3YWgOUZogPE0LPTGv8=", + "optional": true, + "requires": { + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.29" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "optional": true + }, + "aproba": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", + "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "optional": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "optional": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "optional": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "optional": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "optional": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "optional": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "optional": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "optional": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-extend": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", + "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=", + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "optional": true + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "optional": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "optional": true + }, + "form-data": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=", + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true + }, + "fstream": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", + "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "optional": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + } + }, + "gauge": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz", + "integrity": "sha1-HCOFX5YvF7OtPQ3HRD8wRULt/gk=", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "optional": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true + } + } + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "optional": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "optional": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "optional": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "optional": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "optional": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "optional": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "optional": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "optional": true + }, + "jsprim": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=", + "optional": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + } + }, + "mime-db": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz", + "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=", + "optional": true + }, + "mime-types": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", + "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=", + "optional": true, + "requires": { + "mime-db": "~1.26.0" + } + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "optional": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "optional": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.33", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz", + "integrity": "sha1-ZArFUZj2qSWXLgwWxKwmoDTV7Mk=", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "nopt": "~3.0.6", + "npmlog": "^4.0.1", + "rc": "~1.1.6", + "request": "^2.79.0", + "rimraf": "~2.5.4", + "semver": "~5.3.0", + "tar": "~2.2.1", + "tar-pack": "~3.3.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz", + "integrity": "sha1-0DlQ4OeM4VJ7om0qdZLpNIrD518=", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.1", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "optional": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "optional": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "optional": true + }, + "qs": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz", + "integrity": "sha1-kYwLO802Z5dyuvE1say0wWUe150=", + "optional": true + }, + "rc": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", + "integrity": "sha1-xepWS7B6/5/TpbMukGwdOmWUD+o=", + "optional": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", + "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=", + "optional": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" + } + }, + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "optional": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sshpk": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz", + "integrity": "sha1-1agEziJpVRVjjnmNviMnPeBwpfo=", + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "optional": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "optional": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "optional": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "optional": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tar-pack": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz", + "integrity": "sha1-MJMYFkGPVa/E0hd1r91nIM7kXa4=", + "optional": true, + "requires": { + "debug": "~2.2.0", + "fstream": "~1.0.10", + "fstream-ignore": "~1.0.5", + "once": "~1.3.3", + "readable-stream": "~2.1.4", + "rimraf": "~2.5.1", + "tar": "~2.2.1", + "uid-number": "~0.0.6" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "optional": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "optional": true, + "requires": { + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "uuid": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "optional": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", + "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", + "optional": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.0.tgz", + "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=" + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "requires": { + "is-property": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/get-caller-file/download/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-2.0.0.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "globals": { + "version": "9.17.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-9.17.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-9.17.0.tgz", + "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=" + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/globby/download/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "requires": { + "function-bind": "^1.0.2" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-1.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "hash.js": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/hash.js/download/hash.js-1.0.3.tgz?cache=0&sync_timestamp=1622643346539&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhash.js%2Fdownload%2Fhash.js-1.0.3.tgz", + "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=", + "requires": { + "inherits": "^2.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/hmac-drbg/download/hmac-drbg-1.0.0.tgz", + "integrity": "sha1-PbRx9FquSplKBogyIXH1G4uRvuU=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz?cache=0&sync_timestamp=1618599551277&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhome-or-tmp%2Fdownload%2Fhome-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.4.1", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.4.1.tgz", + "integrity": "sha1-SwRF5BwASovRM3dzpP95DKQDGMg=" + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.nlark.com/https-browserify/download/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "ignore": { + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-3.2.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-3.2.6.tgz", + "integrity": "sha1-JujaBkS+C7TLOVFvbHnw4PT/5Iw=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/inquirer/download/inquirer-0.12.0.tgz?cache=0&sync_timestamp=1633472964335&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finquirer%2Fdownload%2Finquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "interpret": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.0.2.tgz", + "integrity": "sha1-9PYj8LtxIvFfVxfI4lS4FhtcWy0=" + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/invert-kv/download/invert-kv-1.0.0.tgz?cache=0&sync_timestamp=1630996775723&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finvert-kv%2Fdownload%2Finvert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-builtin-module/download/is-builtin-module-1.0.0.tgz?cache=0&sync_timestamp=1618995546759&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-builtin-module%2Fdownload%2Fis-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/is-callable/download/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-dotfile/download/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-finite/download/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.16.0", + "resolved": "https://registry.npmmirror.com/is-my-json-valid/download/is-my-json-valid-2.16.0.tgz?cache=0&sync_timestamp=1636548715824&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-my-json-valid%2Fdownload%2Fis-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-1.0.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-1.0.0.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-1.0.0.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/is-primitive/download/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.0.4.tgz?cache=0&sync_timestamp=1628221905423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "requires": { + "tryit": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.1.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-3.0.1.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=" + }, + "js-yaml": { + "version": "3.8.2", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.8.2.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.8.2.tgz", + "integrity": "sha1-AtPiwPa+qyAkjUEsNSIDgn14ZyE=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^3.1.1" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + }, + "json-loader": { + "version": "0.5.4", + "resolved": "https://registry.nlark.com/json-loader/download/json-loader-0.5.4.tgz", + "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/jsonify/download/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/jsonpointer/download/jsonpointer-4.0.1.tgz?cache=0&sync_timestamp=1636550164046&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjsonpointer%2Fdownload%2Fjsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" + }, + "jsx-ast-utils": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/jsx-ast-utils/download/jsx-ast-utils-1.4.0.tgz?cache=0&sync_timestamp=1631856184359&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjsx-ast-utils%2Fdownload%2Fjsx-ast-utils-1.4.0.tgz", + "integrity": "sha1-Wv44ho9WvIzHrq7wEAuox1vRJZE=", + "requires": { + "object-assign": "^4.1.0" + } + }, + "kind-of": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.1.0.tgz", + "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=", + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/lazy-cache/download/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/lcid/download/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz?cache=0&sync_timestamp=1618599642133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz?cache=0&sync_timestamp=1610027943366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1636687869321&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npm.taobao.org/lodash.cond/download/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/longest/download/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/loose-envify/download/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "^3.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/miller-rabin/download/miller-rabin-4.0.0.tgz", + "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.nlark.com/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=" + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=" + }, + "nan": { + "version": "2.5.1", + "resolved": "https://registry.nlark.com/nan/download/nan-2.5.1.tgz?cache=0&sync_timestamp=1628093719696&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnan%2Fdownload%2Fnan-2.5.1.tgz", + "integrity": "sha1-1bAWkSUzJql6K77p5hxV2NYDUeI=", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "node-libs-browser": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/node-libs-browser/download/node-libs-browser-2.0.0.tgz", + "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.1.4", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "0.0.1", + "os-browserify": "^0.2.0", + "path-browserify": "0.0.0", + "process": "^0.11.0", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.0.5", + "stream-browserify": "^2.0.1", + "stream-http": "^2.3.1", + "string_decoder": "^0.10.25", + "timers-browserify": "^2.0.2", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + } + }, + "normalize-package-data": { + "version": "2.3.6", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.3.6.tgz", + "integrity": "sha1-SY+kIMlkAfeHQCuiHmAN75+YH/8=", + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618846992533&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + }, + "object.assign": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.0.4.tgz?cache=0&sync_timestamp=1604115183005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.0.4.tgz", + "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.0", + "object-keys": "^1.0.10" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/object.omit/download/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/wordwrap/download/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + } + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/os-locale/download/os-locale-1.4.0.tgz?cache=0&sync_timestamp=1633618260196&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/output-file-sync/download/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "requires": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.nlark.com/pako/download/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parchment": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/parchment/download/parchment-1.0.8.tgz", + "integrity": "sha1-E+xr7M5sFnSB8Xcr1RpZBt51oDg=" + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/parse-asn1/download/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz?cache=0&sync_timestamp=1622604553837&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-is-inside%2Fdownload%2Fpath-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.5.tgz?cache=0&sync_timestamp=1621947783503&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pbkdf2": { + "version": "3.0.9", + "resolved": "https://registry.nlark.com/pbkdf2/download/pbkdf2-3.0.9.tgz", + "integrity": "sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM=", + "requires": { + "create-hmac": "^1.1.2" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.0.0" + } + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pkg-up/download/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "requires": { + "find-up": "^1.0.0" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/preserve/download/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "private": { + "version": "0.1.7", + "resolved": "https://registry.nlark.com/private/download/private-0.1.7.tgz", + "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" + }, + "process": { + "version": "0.11.9", + "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.9.tgz", + "integrity": "sha1-e9WtIapiU+fahoImTx4R0RwDGME=" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/prr/download/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "quill": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/quill/download/quill-1.2.3.tgz", + "integrity": "sha1-j8Yu1m2Bc+35vB2ft3fddOsGMu4=", + "requires": { + "clone": "~2.1.1", + "deep-equal": "~1.0.1", + "eventemitter3": "~2.0.2", + "extend": "~3.0.0", + "parchment": "1.0.8", + "quill-delta": "3.5.0" + } + }, + "quill-delta": { + "version": "3.5.0", + "resolved": "https://registry.nlark.com/quill-delta/download/quill-delta-3.5.0.tgz", + "integrity": "sha1-W2fmhdpgw06r7URJxBbHSquJFXs=", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.0", + "fast-diff": "1.1.1" + } + }, + "randomatic": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-1.1.6.tgz", + "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs=", + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "randombytes": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.0.3.tgz", + "integrity": "sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=" + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/raw-loader/download/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.2.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.6.tgz", + "integrity": "sha1-i0Ou125xSDk40SqNRsbPGgCx+BY=", + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/readline2/download/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.6.2.tgz?cache=0&sync_timestamp=1627101702123&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frechoir%2Fdownload%2Frechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "regenerate": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.3.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.3.2.tgz", + "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=" + }, + "regenerator-runtime": { + "version": "0.10.3", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.10.3.tgz?cache=0&sync_timestamp=1626992969133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.10.3.tgz", + "integrity": "sha1-jENnqQS1HqYqkIrDEL+Z/5CoKj4=" + }, + "regenerator-transform": { + "version": "0.9.8", + "resolved": "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.9.8.tgz?cache=0&sync_timestamp=1627057533376&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.9.8.tgz", + "integrity": "sha1-D4i7K8A5Mt23trcxLmgHjwECbWw=", + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.nlark.com/regex-cache/download/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-2.0.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.1.5.tgz?cache=0&sync_timestamp=1630946816794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregjsparser%2Fdownload%2Fregjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remove-trailing-separator": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.0.1.tgz", + "integrity": "sha1-YV67lq9VlVLUv0BXyENtSGq2PMQ=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz?cache=0&sync_timestamp=1622605325095&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frepeating%2Fdownload%2Frepeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.3.2.tgz", + "integrity": "sha1-HwRCyeDLuBNuh7kwX5MvRsfygjU=", + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/restore-cursor/download/restore-cursor-1.0.1.tgz?cache=0&sync_timestamp=1629746923086&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frestore-cursor%2Fdownload%2Frestore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/right-align/download/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "requires": { + "glob": "^7.0.5" + } + }, + "ripemd160": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/ripemd160/download/ripemd160-1.0.1.tgz", + "integrity": "sha1-k6S71JQrxXS2mo+lfHHeEOzKfW4=" + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/run-async/download/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "requires": { + "once": "^1.3.0" + } + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.nlark.com/rx-lite/download/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=" + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "sha.js": { + "version": "2.4.8", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.8.tgz", + "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "requires": { + "inherits": "^2.0.1" + } + }, + "shelljs": { + "version": "0.7.7", + "resolved": "https://registry.nlark.com/shelljs/download/shelljs-0.7.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshelljs%2Fdownload%2Fshelljs-0.7.7.tgz", + "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + }, + "source-list-map": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/source-list-map/download/source-list-map-1.1.1.tgz", + "integrity": "sha1-GjOsIQyhRNHlYfkG68yrVmn/TLQ=" + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + }, + "source-map-support": { + "version": "0.4.14", + "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.4.14.tgz", + "integrity": "sha1-nURjdyWYuGJxtPUj9sH04Cp9au8=", + "requires": { + "source-map": "^0.5.6" + } + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "requires": { + "spdx-license-ids": "^1.0.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz?cache=0&sync_timestamp=1636978474315&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&sync_timestamp=1618847174560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.7.0", + "resolved": "https://registry.nlark.com/stream-http/download/stream-http-2.7.0.tgz", + "integrity": "sha1-zsH047SUvEqBtFGAiXD4sgtO1fY=", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.2.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599642133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmmirror.com/table/download/table-3.8.3.tgz?cache=0&sync_timestamp=1636037112686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-2.0.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-2.0.0.tgz", + "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "tapable": { + "version": "0.2.6", + "resolved": "https://registry.nlark.com/tapable/download/tapable-0.2.6.tgz", + "integrity": "sha1-IGvo4YiGC1FEJTdebxrom/sB/Y0=" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "timers-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.2.tgz", + "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/trim-right/download/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/tryit/download/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "2.8.20", + "resolved": "https://registry.npmmirror.com/uglify-js/download/uglify-js-2.8.20.tgz", + "integrity": "sha1-vocQD7wY3jh27WBunSS0VoMRzs8=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/url/download/url-0.11.0.tgz?cache=0&sync_timestamp=1618847135337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl%2Fdownload%2Furl-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/user-home/download/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.nlark.com/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1622212984161&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil%2Fdownload%2Futil-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "v8flags": { + "version": "2.0.12", + "resolved": "https://registry.npmmirror.com/v8flags/download/v8flags-2.0.12.tgz?cache=0&sync_timestamp=1636336418259&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fv8flags%2Fdownload%2Fv8flags-2.0.12.tgz", + "integrity": "sha1-cyNdn3F2+OiDP7KGeVRF95ONhOU=", + "requires": { + "user-home": "^1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.nlark.com/vm-browserify/download/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/watchpack/download/watchpack-1.3.1.tgz", + "integrity": "sha1-fYaTkHsozmAT5/NhCqKhrPB9rYc=", + "requires": { + "async": "^2.1.2", + "chokidar": "^1.4.3", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-2.3.3.tgz", + "integrity": "sha1-7swIPBj7e/lY6k9AtXpmQMWgzHg=", + "requires": { + "acorn": "^4.0.4", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^4.7.0", + "ajv-keywords": "^1.1.1", + "async": "^2.1.2", + "enhanced-resolve": "^3.0.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "loader-runner": "^2.3.0", + "loader-utils": "^0.2.16", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^3.1.0", + "tapable": "~0.2.5", + "uglify-js": "^2.8.5", + "watchpack": "^1.3.1", + "webpack-sources": "^0.2.3", + "yargs": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-4.0.11.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-4.0.11.tgz", + "integrity": "sha1-7c2jvZN+dVZBDULtWGD2c5nHlMA=" + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "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": "^4.2.0" + } + } + } + }, + "webpack-sources": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-0.2.3.tgz?cache=0&sync_timestamp=1636982731420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-0.2.3.tgz", + "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=", + "requires": { + "source-list-map": "^1.1.1", + "source-map": "~0.5.3" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/window-size/download/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.nlark.com/wordwrap/download/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-2.1.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/write/download/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-4.2.1.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + } + } + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/raw-body/download/raw-body-2.4.0.tgz?cache=0&sync_timestamp=1637116848060&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fraw-body%2Fdownload%2Fraw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1637015110760&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + } + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://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": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/read-package-json-fast/download/read-package-json-fast-2.0.3.tgz", + "integrity": "sha1-MjylKWMNqCyzSzbMC5lmk8mMK4M=", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz?cache=0&sync_timestamp=1620070119923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-3.0.0.tgz", + "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.13.tgz", + "integrity": "sha1-Z648pXyXKiqhZCsQ/jY/4y1J3Ag=", + "dev": true + }, + "reftools": { + "version": "1.1.9", + "resolved": "https://registry.nlark.com/reftools/download/reftools-1.1.9.tgz", + "integrity": "sha1-4W4Z9mLM1GSGBTEsBtNOXaOit34=", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz", + "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz?cache=0&sync_timestamp=1631617161322&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY=", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&sync_timestamp=1626992969133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz", + "integrity": "sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1627057533376&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", + "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/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" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.nlark.com/regex-parser/download/regex-parser-2.2.11.tgz", + "integrity": "sha1-OzfskEnhlHmAboeMq+fByoPM/lg=", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623669331185&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz", + "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=", + "dev": true + }, + "regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.8.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.8.0.tgz", + "integrity": "sha1-5WBbo2G2excYR4UBMnUC9EeamPA=", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regextras": { + "version": "0.8.0", + "resolved": "https://registry.nlark.com/regextras/download/regextras-0.8.0.tgz?cache=0&sync_timestamp=1621860451154&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregextras%2Fdownload%2Fregextras-0.8.0.tgz", + "integrity": "sha1-7A+ZhT1JEoOTIRcvYItUSBSwIhc=", + "dev": true + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz", + "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", + "dev": true + }, + "regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.7.0.tgz?cache=0&sync_timestamp=1630946816794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregjsparser%2Fdownload%2Fregjsparser-0.7.0.tgz", + "integrity": "sha1-prZntUyIXhi1JVTLSWDvcRh+mWg=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "regression": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/regression/download/regression-2.0.1.tgz", + "integrity": "sha1-jSnD6CJKEIUMNeM36FqLL6w7DIc=" + }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npmmirror.com/remark/download/remark-13.0.0.tgz?cache=0&sync_timestamp=1637258856657&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark%2Fdownload%2Fremark-13.0.0.tgz", + "integrity": "sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU=", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/remark-parse/download/remark-parse-9.0.0.tgz", + "integrity": "sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA=", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/remark-stringify/download/remark-stringify-9.0.1.tgz", + "integrity": "sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ=", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.4.tgz", + "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmmirror.com/request/download/request-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.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.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.nlark.com/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-url-loader/download/resolve-url-loader-4.0.0.tgz", + "integrity": "sha1-1Q1N3HRrsQRoRDFnrPgA3NbDrVc=", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/restore-cursor/download/restore-cursor-3.1.0.tgz?cache=0&sync_timestamp=1629746923086&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frestore-cursor%2Fdownload%2Frestore-cursor-3.1.0.tgz", + "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.nlark.com/retry/download/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz", + "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/rfdc/download/rfdc-1.3.0.tgz", + "integrity": "sha1-0LfEQasnINBdxM8m4ByJYx2doIs=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.nlark.com/run-async/download/run-async-2.4.1.tgz", + "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz?cache=0&sync_timestamp=1612925943325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.2.0.tgz", + "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/rw/download/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz", + "integrity": "sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "rxjs-for-await": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/rxjs-for-await/download/rxjs-for-await-0.0.2.tgz", + "integrity": "sha1-JlmKHWFnFHzBkhcpcOfu1OYgOEs=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sass": { + "version": "1.36.0", + "resolved": "https://registry.npmmirror.com/sass/download/sass-1.36.0.tgz", + "integrity": "sha1-WRLvnV0WcUFxuhHLF+2ydMS7wH4=", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "12.1.0", + "resolved": "https://registry.npmmirror.com/sass-loader/download/sass-loader-12.1.0.tgz?cache=0&sync_timestamp=1635385383233&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsass-loader%2Fdownload%2Fsass-loader-12.1.0.tgz", + "integrity": "sha1-tzMkYiIxAJ2m+6Yat2ATJWOA0gE=", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/saucelabs/download/saucelabs-1.5.0.tgz", + "integrity": "sha1-lAWnPDYNRJsjKDmRmobDltN5/Z0=", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/agent-base/download/agent-base-4.3.0.tgz", + "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz", + "integrity": "sha1-TuenN6vZJniik9mzShr00NCMeHs=", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + } + } + }, + "screenfull": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/screenfull/download/screenfull-5.2.0.tgz", + "integrity": "sha1-ZTPVJNMGIfwSg7lpIUbz8TqT0bo=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://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": "https://registry.npmmirror.com/selenium-webdriver/download/selenium-webdriver-3.6.0.tgz", + "integrity": "sha1-K6h6FmLAILiYjJga5iyyoBKY6vw=", + "dev": true, + "requires": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz?cache=0&sync_timestamp=1620160245612&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.11.tgz", + "integrity": "sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k=", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/semver-compare/download/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", + "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.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz?cache=0&sync_timestamp=1624284098038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-6.0.0.tgz", + "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1636932182141&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-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 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1631437857327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz", + "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://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": "https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "should": { + "version": "13.2.3", + "resolved": "https://registry.nlark.com/should/download/should-13.2.3.tgz", + "integrity": "sha1-ltjlrPPpe0nYm1H+qlro0H71jxA=", + "dev": true, + "requires": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/should-equal/download/should-equal-2.0.0.tgz", + "integrity": "sha1-YHLPgwRzYIZ+aOmLCdcRQ9BO4MM=", + "dev": true, + "requires": { + "should-type": "^1.4.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/should-format/download/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/should-type/download/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/should-type-adaptors/download/should-type-adaptors-1.1.0.tgz", + "integrity": "sha1-QB5/M7VTMDOUTVzYvytlAneS4no=", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "should-util": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/should-util/download/should-util-1.0.1.tgz", + "integrity": "sha1-+w1xM49TKjoUkhNjni0yy+qLyyg=", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz", + "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "simple-statistics": { + "version": "6.1.1", + "resolved": "https://registry.npm.taobao.org/simple-statistics/download/simple-statistics-6.1.1.tgz", + "integrity": "sha1-46B5n/xJkU1vQhxaSsWF9qE+K60=" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz", + "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz", + "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.nlark.com/smart-buffer/download/smart-buffer-4.2.0.tgz?cache=0&sync_timestamp=1628317244992&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsmart-buffer%2Fdownload%2Fsmart-buffer-4.2.0.tgz", + "integrity": "sha1-bh1x+k8YwF99D/IW3RakgdDo2a4=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://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.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://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": "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/socket.io/download/socket.io-4.4.0.tgz?cache=0&sync_timestamp=1637252559928&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsocket.io%2Fdownload%2Fsocket.io-4.4.0.tgz", + "integrity": "sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.1.0", + "socket.io-adapter": "~2.3.3", + "socket.io-parser": "~4.0.4" + } + }, + "socket.io-adapter": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/socket.io-adapter/download/socket.io-adapter-2.3.3.tgz?cache=0&sync_timestamp=1637252559030&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsocket.io-adapter%2Fdownload%2Fsocket.io-adapter-2.3.3.tgz", + "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==", + "dev": true + }, + "socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/socket.io-parser/download/socket.io-parser-4.0.4.tgz", + "integrity": "sha1-nqIbDWFQjRgZbvBKLGuatjD0wrA=", + "dev": true, + "requires": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.nlark.com/sockjs/download/sockjs-0.3.21.tgz", + "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.nlark.com/sockjs-client/download/sockjs-client-1.5.2.tgz", + "integrity": "sha1-S8SMLanOR2nxnccjOWtQ9cEjMKM=", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socks": { + "version": "2.6.1", + "resolved": "https://registry.nlark.com/socks/download/socks-2.6.1.tgz", + "integrity": "sha1-mJ5lNKB88zfesbHJSqpEKWUg0w4=", + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/download/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true + }, + "source-map-explorer": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/source-map-explorer/download/source-map-explorer-2.5.2.tgz", + "integrity": "sha1-hXyrXdnR1xdenFwnOdycz7mfLcU=", + "dev": true, + "requires": { + "btoa": "^1.2.1", + "chalk": "^4.1.0", + "convert-source-map": "^1.7.0", + "ejs": "^3.1.5", + "escape-html": "^1.0.3", + "glob": "^7.1.6", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "open": "^7.3.1", + "source-map": "^0.7.3", + "temp": "^0.9.4", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmmirror.com/open/download/open-7.4.2.tgz", + "integrity": "sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE=", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "source-map-js": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/source-map-js/download/source-map-js-1.0.1.tgz?cache=0&sync_timestamp=1636400772640&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-1.0.1.tgz", + "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", + "dev": true + }, + "source-map-loader": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/source-map-loader/download/source-map-loader-3.0.0.tgz", + "integrity": "sha1-8qBO4oCK0Bx3TeprfSY5g587MEk=", + "dev": true, + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.2", + "source-map-js": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.6.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/source-map-js/download/source-map-js-0.6.2.tgz?cache=0&sync_timestamp=1636400772640&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "dev": true + } + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "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.19", + "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz", + "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.nlark.com/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", + "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-3.0.11.tgz?cache=0&sync_timestamp=1636978474315&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/spdy/download/spdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/specificity/download/specificity-0.4.1.tgz", + "integrity": "sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&sync_timestamp=1618847174560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "ssf": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/ssf/download/ssf-0.11.2.tgz", + "integrity": "sha1-C5lpiyN1SNCI/EPN8rcMGnUSwGw=", + "requires": { + "frac": "~1.1.2" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.nlark.com/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1621364918494&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fssri%2Fdownload%2Fssri-8.0.1.tgz", + "integrity": "sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8=", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", + "dev": true + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/state-toggle/download/state-toggle-1.0.3.tgz", + "integrity": "sha1-4SOxaojhQxObCcaFIiG8mBWRff4=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://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": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654066899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "streamroller": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/streamroller/download/streamroller-2.2.4.tgz", + "integrity": "sha1-wZjO1C25QIamGTYIGHzoCl8rDlM=", + "dev": true, + "requires": { + "date-format": "^2.1.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-2.1.0.tgz", + "integrity": "sha1-MdW16iEc9f12TNOLr50DPffhJc8=", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/string-argv/download/string-argv-0.3.1.tgz", + "integrity": "sha1-leL77AQnrhkYSTX4FtdKqkxcGdo=", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz?cache=0&sync_timestamp=1614127461586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.4.tgz", + "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", + "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-entities": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/stringify-entities/download/stringify-entities-1.3.2.tgz?cache=0&sync_timestamp=1636445763931&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstringify-entities%2Fdownload%2Fstringify-entities-1.3.2.tgz", + "integrity": "sha1-qYQX5Ucf0iez5F09sYYcEcr2aPc=", + "dev": true, + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.nlark.com/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599642133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-css-comments": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/strip-css-comments/download/strip-css-comments-4.1.0.tgz", + "integrity": "sha1-ynmOPmtxkp8LNU4L1y53WbLqF+A=", + "dev": true, + "requires": { + "is-regexp": "^2.1.0" + }, + "dependencies": { + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz", + "integrity": "sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=", + "dev": true + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz", + "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz", + "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + }, + "style-loader": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/style-loader/download/style-loader-3.2.1.tgz?cache=0&sync_timestamp=1634872439692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstyle-loader%2Fdownload%2Fstyle-loader-3.2.1.tgz", + "integrity": "sha1-Y8uSDsFFyGaemlDpKWFFKh713N4=", + "dev": true + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/style-search/download/style-search-0.1.0.tgz", + "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", + "dev": true + }, + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/stylehacks/download/stylehacks-5.0.1.tgz?cache=0&sync_timestamp=1621449652268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylehacks%2Fdownload%2Fstylehacks-5.0.1.tgz", + "integrity": "sha1-Mj7FVBmFIJhoBjiMf9rrw40sBvs=", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + } + }, + "stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmmirror.com/stylelint/download/stylelint-13.13.1.tgz", + "integrity": "sha1-/KnJ9d55kKsmoA8We4l48IOhjzw=", + "dev": true, + "requires": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-2.0.0.tgz", + "integrity": "sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k=", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/meow/download/meow-9.0.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-9.0.0.tgz", + "integrity": "sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q=", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.3.tgz", + "integrity": "sha1-28w+LaWVCaCYNCKITNFy7v36Ul4=", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz", + "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + } + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.18.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.1.tgz", + "integrity": "sha1-20vBUaSiz07r+a3V23VQjbbMhB8=", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "stylelint-config-prettier": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/stylelint-config-prettier/download/stylelint-config-prettier-8.0.2.tgz", + "integrity": "sha1-2p3jPaTFaJPL5+Jt8jmnN0BF4U4=", + "dev": true + }, + "stylelint-config-rational-order": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/stylelint-config-rational-order/download/stylelint-config-rational-order-0.1.2.tgz", + "integrity": "sha1-TpjjkHg9Q38OxB+3O8QZkueNAqA=", + "dev": true, + "requires": { + "stylelint": "^9.10.1", + "stylelint-order": "^2.2.1" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://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.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "clone-regexp": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-1.0.1.tgz?cache=0&sync_timestamp=1617892092032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone-regexp%2Fdownload%2Fclone-regexp-1.0.1.tgz", + "integrity": "sha1-BRgFzTMXM3XYIRj8CRhgbaOf1g8=", + "dev": true, + "requires": { + "is-regexp": "^1.0.0", + "is-supported-regexp-flag": "^1.0.0" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "execall": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execall/download/execall-1.0.0.tgz?cache=0&sync_timestamp=1617892843041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexecall%2Fdownload%2Fexecall-1.0.0.tgz", + "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", + "dev": true, + "requires": { + "clone-regexp": "^1.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1625773305786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "file-entry-cache": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-4.0.0.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-4.0.0.tgz", + "integrity": "sha1-YzVn0VNkrv4LKZ4eIXc16POp9ug=", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/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.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1636473847692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-6.0.0.tgz", + "integrity": "sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs=", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.nlark.com/globby/download/globby-9.2.0.tgz", + "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469532269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/import-lazy/download/import-lazy-3.1.0.tgz", + "integrity": "sha1-iRJ5ICyKIoD9vWZ029jaGh38Z8w=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1622604582006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "known-css-properties": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/known-css-properties/download/known-css-properties-0.11.0.tgz", + "integrity": "sha1-DaeE8RXqd8drgVNtcFLpDubIaoo=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-2.0.0.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/meow/download/meow-5.0.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-5.0.0.tgz", + "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/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.1", + "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.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-3.0.2.tgz", + "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-sass": { + "version": "0.3.5", + "resolved": "https://registry.nlark.com/postcss-sass/download/postcss-sass-0.3.5.tgz", + "integrity": "sha1-bT458QGlPS76CR+VNJMRbTK+tow=", + "dev": true, + "requires": { + "gonzales-pe": "^4.2.3", + "postcss": "^7.0.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/quick-lru/download/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-2.0.0.tgz?cache=0&sync_timestamp=1620070119923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", + "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "stylelint": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/stylelint/download/stylelint-9.10.1.tgz", + "integrity": "sha1-Xw7jcBRh3/HWgoThOG7+jwZ3p10=", + "dev": true, + "requires": { + "autoprefixer": "^9.0.0", + "balanced-match": "^1.0.0", + "chalk": "^2.4.1", + "cosmiconfig": "^5.0.0", + "debug": "^4.0.0", + "execall": "^1.0.0", + "file-entry-cache": "^4.0.0", + "get-stdin": "^6.0.0", + "global-modules": "^2.0.0", + "globby": "^9.0.0", + "globjoin": "^0.1.4", + "html-tags": "^2.0.0", + "ignore": "^5.0.4", + "import-lazy": "^3.1.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.11.0", + "leven": "^2.1.0", + "lodash": "^4.17.4", + "log-symbols": "^2.0.0", + "mathml-tag-names": "^2.0.1", + "meow": "^5.0.0", + "micromatch": "^3.1.10", + "normalize-selector": "^0.2.0", + "pify": "^4.0.0", + "postcss": "^7.0.13", + "postcss-html": "^0.36.0", + "postcss-jsx": "^0.36.0", + "postcss-less": "^3.1.0", + "postcss-markdown": "^0.36.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-reporter": "^6.0.0", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.0", + "postcss-sass": "^0.3.5", + "postcss-scss": "^2.0.0", + "postcss-selector-parser": "^3.1.0", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^3.3.0", + "resolve-from": "^4.0.0", + "signal-exit": "^3.0.2", + "slash": "^2.0.0", + "specificity": "^0.4.1", + "string-width": "^3.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^5.0.0" + } + }, + "stylelint-order": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/stylelint-order/download/stylelint-order-2.2.1.tgz", + "integrity": "sha1-zS1KDYHZHHBfHSdaWEh+WtWqWCg=", + "dev": true, + "requires": { + "lodash": "^4.17.10", + "postcss": "^7.0.2", + "postcss-sorting": "^4.1.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmmirror.com/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1636037112686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/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" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-2.0.0.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "stylelint-config-recommended": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/stylelint-config-recommended/download/stylelint-config-recommended-5.0.0.tgz", + "integrity": "sha1-+1ZT9JWmC0k48q0+d3EtnhA5rng=", + "dev": true + }, + "stylelint-config-standard": { + "version": "22.0.0", + "resolved": "https://registry.npmmirror.com/stylelint-config-standard/download/stylelint-config-standard-22.0.0.tgz", + "integrity": "sha1-yGC+mhPrvBsIRFb6EFJ78TpErd8=", + "dev": true, + "requires": { + "stylelint-config-recommended": "^5.0.0" + } + }, + "stylelint-declaration-block-no-ignored-properties": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/stylelint-declaration-block-no-ignored-properties/download/stylelint-declaration-block-no-ignored-properties-2.5.0.tgz?cache=0&sync_timestamp=1636703410304&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylelint-declaration-block-no-ignored-properties%2Fdownload%2Fstylelint-declaration-block-no-ignored-properties-2.5.0.tgz", + "integrity": "sha512-UNz5nUC5GMgMb6GPc/pHUTC0+ydxTdj2mUn7XcKRdwQoiUzzUmWWdSf1aFv2UzrW4x8JYNReE1u5JOj7g0ThJw==", + "dev": true + }, + "stylelint-order": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/stylelint-order/download/stylelint-order-4.1.0.tgz", + "integrity": "sha1-aS0Ft9DCNaxm/PXqHZ5fCKdnR/Y=", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.31", + "postcss-sorting": "^5.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/postcss-sorting/download/postcss-sorting-5.0.1.tgz", + "integrity": "sha1-ENXQBZ7qgzTazIIMASGGQDW8PxE=", + "dev": true, + "requires": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "stylus": { + "version": "0.54.8", + "resolved": "https://registry.nlark.com/stylus/download/stylus-0.54.8.tgz", + "integrity": "sha1-PaPmWWa8Vnp7BEv+DuzmU+CZ0Uc=", + "dev": true, + "requires": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "stylus-loader": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/stylus-loader/download/stylus-loader-6.1.0.tgz?cache=0&sync_timestamp=1634037061456&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylus-loader%2Fdownload%2Fstylus-loader-6.1.0.tgz", + "integrity": "sha1-ejpxmifLK5YXiW1too/alMPtl2I=", + "dev": true, + "requires": { + "fast-glob": "^3.2.5", + "klona": "^2.0.4", + "normalize-path": "^3.0.0" + } + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/sugarss/download/sugarss-2.0.0.tgz", + "integrity": "sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/svgo/download/svgo-2.8.0.tgz", + "integrity": "sha1-T/gMzmcQ3CeV8MfHQQHmdkz8zSQ=", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz", + "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=", + "dev": true + } + } + }, + "swagger-schema-official": { + "version": "2.0.0-bab6bed", + "resolved": "https://registry.npm.taobao.org/swagger-schema-official/download/swagger-schema-official-2.0.0-bab6bed.tgz", + "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=", + "dev": true + }, + "swagger-typescript-api": { + "version": "9.3.1", + "resolved": "https://registry.npmmirror.com/swagger-typescript-api/download/swagger-typescript-api-9.3.1.tgz", + "integrity": "sha1-B986qOg6OJc1am6CDoi4NIgwqms=", + "dev": true, + "requires": { + "@types/swagger-schema-official": "2.0.21", + "axios": "^0.21.4", + "commander": "^6.2.1", + "cosmiconfig": "^7.0.0", + "eta": "^1.12.1", + "js-yaml": "^4.0.0", + "lodash": "^4.17.21", + "make-dir": "^3.1.0", + "nanoid": "^3.1.22", + "node-emoji": "^1.10.0", + "prettier": "^2.2.1", + "swagger-schema-official": "2.0.0-bab6bed", + "swagger2openapi": "^7.0.5", + "typescript": "^4.2.4" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/argparse/download/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/commander/download/commander-6.2.1.tgz", + "integrity": "sha1-B5LraC37wyWZm7K4T93duhEKxzw=", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-4.1.0.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.nlark.com/swagger2openapi/download/swagger2openapi-7.0.8.tgz", + "integrity": "sha1-EsiNXed2yxy7p1iZSTD0CtCvrFk=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-17.2.1.tgz", + "integrity": "sha1-4slbl5ag4ffzv0QnhjtC4EGBkeo=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-4.0.0.tgz?cache=0&sync_timestamp=1618451954701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsymbol-observable%2Fdownload%2Fsymbol-observable-4.0.0.tgz", + "integrity": "sha1-W0JfGSJ56H8vm5N6yFQNGYSzkgU=", + "dev": true + }, + "table": { + "version": "6.7.3", + "resolved": "https://registry.npmmirror.com/table/download/table-6.7.3.tgz?cache=0&sync_timestamp=1636037112686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-6.7.3.tgz", + "integrity": "sha1-JVOIQ5cVpzg5G9LuTLyomk0Fqbc=", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.1.tgz", + "integrity": "sha1-GWenPvQGCoLxKrlq+G1S/bdu7KA=", + "dev": true + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.nlark.com/tar/download/tar-6.1.11.tgz", + "integrity": "sha1-Z2CjjwA6+hsv/Q/+npq70Oqz1iE=", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npm.taobao.org/temp/download/temp-0.9.4.tgz", + "integrity": "sha1-zSCoWAy2NjXQ5OnUvZidRChudiA=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "terser": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/terser/download/terser-5.7.1.tgz?cache=0&sync_timestamp=1636988182324&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser%2Fdownload%2Fterser-5.7.1.tgz", + "integrity": "sha1-LcemEAm2a7Y4MFyyqCR2OxFr94Q=", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + }, + "terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-5.1.4.tgz?cache=0&sync_timestamp=1636385901001&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.1.4.tgz", + "integrity": "sha1-w2nPikeqmSK9DYqU/j09oRp2eKE=", + "dev": true, + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/thunky/download/thunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", + "dev": true + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/timsort/download/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://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": "5.0.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/toidentifier/download/toidentifier-1.0.0.tgz?cache=0&sync_timestamp=1636938489272&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftoidentifier%2Fdownload%2Ftoidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", + "dev": true + }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/topojson-client/download/topojson-client-3.1.0.tgz", + "integrity": "sha1-Iuix7QiiuSL+60r29Ttu8JpGe5k=", + "requires": { + "commander": "2" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftr46%2Fdownload%2Ftr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.nlark.com/tree-kill/download/tree-kill-1.2.2.tgz", + "integrity": "sha1-TKCakJLIi3OnzcXooBtQeweQoMw=", + "dev": true + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz", + "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ=", + "dev": true + }, + "trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/trim-trailing-lines/download/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha1-vUq77HzIgEYvELLItc4djR7HwsA=", + "dev": true + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/trough/download/trough-1.0.5.tgz?cache=0&sync_timestamp=1625401006146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrough%2Fdownload%2Ftrough-1.0.5.tgz", + "integrity": "sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=", + "dev": true + }, + "ts-node": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/ts-node/download/ts-node-8.3.0.tgz", + "integrity": "sha1-5AWWGEETcZJKH7XzsSWRXzJO+1c=", + "dev": true, + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "^3.0.0" + } + }, + "tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmmirror.com/tsconfig-paths/download/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.1.tgz", + "integrity": "sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE=" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138426726&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz", + "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz", + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.21.3.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.21.3.tgz", + "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.nlark.com/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/typescript/download/typescript-4.3.5.tgz", + "integrity": "sha1-TRw3zBbok5c8RaBohrcRMjTxGfQ=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmmirror.com/ua-parser-js/download/ua-parser-js-0.7.31.tgz", + "integrity": "sha1-ZJplaxkd/6tPIdXgU+J8oXy/9cY=", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz", + "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/unherit/download/unherit-1.1.3.tgz?cache=0&sync_timestamp=1626423513229&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funherit%2Fdownload%2Funherit-1.1.3.tgz", + "integrity": "sha1-bJtQPytBsmIzDIDpHIYUq9qmnCI=", + "dev": true, + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw=", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618696521&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-ecmascript%2Fdownload%2Funicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM=", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ=", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631609457921&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g=", + "dev": true + }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/unified/download/unified-9.2.2.tgz", + "integrity": "sha1-Z2SaGr/Dq4XSlpUCkCd16wMUaXU=", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz?cache=0&sync_timestamp=1618601044820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "dev": true + } + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-find-all-after%2Fdownload%2Funist-util-find-all-after-3.0.2.tgz", + "integrity": "sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY=", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-4.1.0.tgz?cache=0&sync_timestamp=1626874922677&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-4.1.0.tgz", + "integrity": "sha1-l25fRip6Xec9lLcGusG5BnG1d5c=", + "dev": true + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/unist-util-remove-position/download/unist-util-remove-position-1.1.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-remove-position%2Fdownload%2Funist-util-remove-position-1.1.4.tgz", + "integrity": "sha1-7ANzSLYQLIl3A+7m0ClMpHVaICA=", + "dev": true, + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-stringify-position%2Fdownload%2Funist-util-stringify-position-2.0.3.tgz", + "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/unist-util-visit/download/unist-util-visit-1.4.1.tgz?cache=0&sync_timestamp=1632405298952&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Funist-util-visit%2Fdownload%2Funist-util-visit-1.4.1.tgz", + "integrity": "sha1-RySqqEhububibX/zyGhZYNVgseM=", + "dev": true, + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/unist-util-visit-parents/download/unist-util-visit-parents-2.1.2.tgz?cache=0&sync_timestamp=1632208991791&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-visit-parents%2Fdownload%2Funist-util-visit-parents-2.1.2.tgz", + "integrity": "sha1-JeQ+VTEhZvM0jK5nQ1iHgdESwek=", + "dev": true, + "requires": { + "unist-util-is": "^3.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-3.0.0.tgz?cache=0&sync_timestamp=1626874922677&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-3.0.0.tgz", + "integrity": "sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0=", + "dev": true + } + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/universalify/download/universalify-2.0.0.tgz", + "integrity": "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://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": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/url/download/url-0.11.0.tgz?cache=0&sync_timestamp=1618847135337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl%2Fdownload%2Furl-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": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.5.3", + "resolved": "https://registry.nlark.com/url-parse/download/url-parse-1.5.3.tgz", + "integrity": "sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI=", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993639567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz", + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/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": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz?cache=0&sync_timestamp=1635885078723&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fverror%2Fdownload%2Fverror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + } + } + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/vfile/download/vfile-4.2.1.tgz", + "integrity": "sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + } + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/vfile-location/download/vfile-location-2.0.6.tgz", + "integrity": "sha1-iidPOUEbhxnqVyiALhDZ4N/xUZ4=", + "dev": true + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-2.0.4.tgz?cache=0&sync_timestamp=1628780833868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-2.0.4.tgz", + "integrity": "sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/watchpack/download/watchpack-2.3.0.tgz", + "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/wcwidth/download/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/webdriver-js-extender/download/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha1-V9epPADbTMjVVuTT20tdsKgMO7c=", + "dev": true, + "requires": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "webpack": { + "version": "5.50.0", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-5.50.0.tgz", + "integrity": "sha1-VWLXWQKnSetNdRMfVifqw6MZJSc=", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "webpack-sources": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-3.2.2.tgz?cache=0&sync_timestamp=1636982731420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-5.0.0.tgz?cache=0&sync_timestamp=1637165508298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-5.0.0.tgz", + "integrity": "sha1-Cr6CUnVyDgozmXiupfCwOxQMFYQ=", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz", + "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://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.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/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.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://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.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/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.1", + "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.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz", + "integrity": "sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/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.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/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" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1637165508298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz", + "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1615477439589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.nlark.com/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-5.8.0.tgz", + "integrity": "sha1-Kznb8ir4d3atdEw5AiNzHTCmj2E=", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1636982731420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "webpack-subresource-integrity": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/webpack-subresource-integrity/download/webpack-subresource-integrity-1.5.2.tgz", + "integrity": "sha1-5AtleNMHLi0kEEl1JJxSxm6adD4=", + "dev": true, + "requires": { + "webpack-sources": "^1.3.0" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz", + "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", + "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz?cache=0&sync_timestamp=1634673646149&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/wide-align/download/wide-align-1.1.5.tgz", + "integrity": "sha1-3x1MIGhUNp7PPJpImPGyP72dFdM=", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/wildcard/download/wildcard-2.0.0.tgz", + "integrity": "sha1-p30g5SAMb6qsl55LOq3Hs91/j+w=", + "dev": true + }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wmf/download/wmf-1.0.2.tgz", + "integrity": "sha1-fRnWIQcaCMK9xrfmiKnENSmMwto=" + }, + "wolfy87-eventemitter": { + "version": "5.2.9", + "resolved": "https://registry.nlark.com/wolfy87-eventemitter/download/wolfy87-eventemitter-5.2.9.tgz", + "integrity": "sha1-6Hn3cLMPu2USqK+7Mww4hZEJnCo=" + }, + "word": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/word/download/word-0.3.0.tgz", + "integrity": "sha1-hUIVfk+OhJ9KNjooiZLUdhLbmWE=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/write/download/write-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/write-file-atomic/download/write-file-atomic-3.0.3.tgz?cache=0&sync_timestamp=1618847057132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-3.0.3.tgz", + "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz", + "integrity": "sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/x-is-string/download/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", + "dev": true + }, + "xlsx": { + "version": "0.17.4", + "resolved": "https://registry.npmmirror.com/xlsx/download/xlsx-0.17.4.tgz", + "integrity": "sha512-9aKt8g9ZLP0CUdBX8L5xnoMDFwSiLI997eQnDThCaqQMYB9AEBIRzblSSNN/ICMGLYIHUO3VKaItcedZJ3ijIg==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.15.0", + "crc-32": "~1.2.0", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + } + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz", + "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.nlark.com/xmlbuilder/download/xmlbuilder-11.0.1.tgz", + "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/download/yaml-1.10.2.tgz?cache=0&sync_timestamp=1636797216143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyaml%2Fdownload%2Fyaml-1.10.2.tgz", + "integrity": "sha1-IwHF/78StGfejaIzOkWeKeeSDks=", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/yn/download/yn-3.1.1.tgz", + "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "dev": true + }, + "zone.js": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/zone.js/download/zone.js-0.11.4.tgz", + "integrity": "sha1-D3Dc9quoD2mK9XNcuyV5aTlugCU=", + "requires": { + "tslib": "^2.0.0" + } + }, + "zrender": { + "version": "5.2.1", + "resolved": "https://registry.nlark.com/zrender/download/zrender-5.2.1.tgz", + "integrity": "sha1-X0u9qRW6bUErCxncJDG+qtBUF7s=", + "requires": { + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=" + } + } + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/zwitch/download/zwitch-1.0.5.tgz?cache=0&sync_timestamp=1617357623494&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fzwitch%2Fdownload%2Fzwitch-1.0.5.tgz", + "integrity": "sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..9f030bab --- /dev/null +++ b/package.json @@ -0,0 +1,135 @@ +{ + "name": "ng-alain-pro", + "version": "0.0.0", + "description": "Ng-alain business theme, ng-zorro-antd admin panel front-end framework", + "author": "cipchk ", + "repository": { + "type": "git", + "url": "git+https://github.com/ng-alain/ng-alain.git" + }, + "homepage": "https://e.ng-alain.com/theme/pro", + "scripts": { + "ng-high-memory": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng", + "ng": "ng", + "start": "ng s -o", + "hmr": "ng s -o --hmr", + "build": "npm run ng-high-memory build", + "analyze": "npm run ng-high-memory build -- --source-map", + "analyze:view": "source-map-explorer dist/**/*.js", + "lint": "npm run lint:ts && npm run lint:style", + "lint:ts": "ng lint --fix", + "lint:style": "stylelint \"src/**/*.less\" --syntax less --fix", + "e2e": "ng e2e", + "test": "ng test --watch", + "test-coverage": "ng test --code-coverage --watch=false", + "color-less": "ng-alain-plugin-theme -t=colorLess", + "theme": "ng-alain-plugin-theme -t=themeCss", + "icon": "ng g ng-alain:plugin icon", + "prepare": "husky install" + }, + "dependencies": { + "@agm/core": "^1.1.0", + "@angular/animations": "~12.2.0", + "@angular/common": "~12.2.0", + "@angular/compiler": "~12.2.0", + "@angular/core": "~12.2.0", + "@angular/forms": "~12.2.0", + "@angular/platform-browser": "~12.2.0", + "@angular/platform-browser-dynamic": "~12.2.0", + "@angular/router": "~12.2.0", + "@delon/abc": "^12.3.0", + "@delon/acl": "^12.3.0", + "@delon/auth": "^12.3.0", + "@delon/cache": "^12.3.0", + "@delon/chart": "^12.3.0", + "@delon/form": "^12.3.0", + "@delon/mock": "^12.3.0", + "@delon/theme": "^12.3.0", + "@delon/util": "^12.3.0", + "@fullcalendar/core": "^5.9.0", + "@fullcalendar/daygrid": "^5.9.0", + "@fullcalendar/interaction": "^5.9.0", + "@fullcalendar/list": "^5.9.0", + "@fullcalendar/timegrid": "^5.9.0", + "@swimlane/ngx-charts": "^18.0.1", + "ajv": "^8.6.2", + "angular-baidu-maps": "^12.0.0", + "file-saver": "^2.0.5", + "js-base64": "^3.6.1", + "masonry-layout": "^4.2.2", + "ng-gallery": "^5.0.0", + "ng-zorro-antd": "^12.0.1", + "ngx-tinymce": "^12.0.0", + "ngx-trend": "^7.0.0", + "perfect-scrollbar": "^1.5.2", + "quill": "^1.3.7", + "quill-image-resize-module": "^3.0.0", + "rxjs": "~6.6.0", + "screenfull": "^5.1.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~12.2.0", + "@angular/cli": "~12.2.0", + "@angular/compiler-cli": "~12.2.0", + "@types/jasmine": "~3.8.0", + "@types/node": "^12.11.1", + "jasmine-core": "~3.8.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.0.3", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "typescript": "~4.3.5", + "@angular-eslint/builder": "~12.3.1", + "@angular-eslint/eslint-plugin": "~12.3.1", + "@angular-eslint/eslint-plugin-template": "~12.3.1", + "@angular-eslint/schematics": "~12.3.1", + "@angular-eslint/template-parser": "~12.3.1", + "@typescript-eslint/eslint-plugin": "~4.29.2", + "@typescript-eslint/parser": "~4.29.2", + "eslint": "^7.32.0", + "eslint-config-prettier": "~8.3.0", + "eslint-plugin-import": "~2.24.1", + "eslint-plugin-jsdoc": "~36.0.7", + "eslint-plugin-prefer-arrow": "~1.2.3", + "eslint-plugin-prettier": "~3.4.1", + "@angular/language-service": "~12.2.0", + "source-map-explorer": "^2.5.2", + "prettier": "^2.2.1", + "stylelint": "^13.13.1", + "stylelint-config-prettier": "^8.0.2", + "stylelint-config-rational-order": "^0.1.2", + "stylelint-config-standard": "^22.0.0", + "stylelint-declaration-block-no-ignored-properties": "^2.4.0", + "stylelint-order": "^4.1.0", + "@delon/testing": "^12.3.0", + "ng-alain": "^12.3.0", + "ng-alain-plugin-theme": "^12.0.0", + "ng-alain-sts": "^0.0.1", + "@types/jasminewd2": "~2.0.3", + "jasmine-spec-reporter": "~5.0.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "protractor": "~7.0.0", + "ts-node": "~8.3.0", + "node-fetch": "^2.6.1", + "husky": "^6.0.0", + "lint-staged": "^11.1.2", + "@types/file-saver": "^2.0.3", + "@types/js-base64": "^3.0.0" + }, + "lint-staged": { + "(src)/**/*.{html,ts}": [ + "eslint --fix" + ], + "(src)/**/*.less": [ + "stylelint --syntax less --fix" + ] + }, + "private": true, + "theme": { + "name": "pro", + "version": "12.0.0" + } +} diff --git a/proxy.conf.js b/proxy.conf.js new file mode 100644 index 00000000..50258c5a --- /dev/null +++ b/proxy.conf.js @@ -0,0 +1,17 @@ +/** + * For more configuration, please refer to https://angular.io/guide/build#proxying-to-a-backend-server + * + * 更多配置描述请参考 https://angular.cn/guide/build#proxying-to-a-backend-server + * + * Note: The proxy is only valid for real requests, Mock does not actually generate requests, so the priority of Mock will be higher than the proxy + */ +module.exports = { + /** + * The following means that all requests are directed to the backend `https://localhost:9000/` + */ + // '/': { + // target: 'https://localhost:9000/', + // secure: false, // Ignore invalid SSL certificates + // changeOrigin: true + // } +}; diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 00000000..e91655e8 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,46 @@ +import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core'; +import { NavigationEnd, NavigationError, RouteConfigLoadStart, Router } from '@angular/router'; +import { TitleService, VERSION as VERSION_ALAIN } from '@delon/theme'; +import { environment } from '@env/environment'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { VERSION as VERSION_ZORRO } from 'ng-zorro-antd/version'; + +@Component({ + selector: 'app-root', + template: ` ` +}) +export class AppComponent implements OnInit { + constructor( + el: ElementRef, + renderer: Renderer2, + private router: Router, + private titleSrv: TitleService, + private modalSrv: NzModalService + ) { + renderer.setAttribute(el.nativeElement, 'ng-alain-version', VERSION_ALAIN.full); + renderer.setAttribute(el.nativeElement, 'ng-zorro-version', VERSION_ZORRO.full); + } + + ngOnInit(): void { + let configLoad = false; + this.router.events.subscribe(ev => { + if (ev instanceof RouteConfigLoadStart) { + configLoad = true; + } + if (configLoad && ev instanceof NavigationError) { + this.modalSrv.confirm({ + nzTitle: `提醒`, + nzContent: environment.production ? `应用可能已发布新版本,请点击刷新才能生效。` : `无法加载路由:${ev.url}`, + nzCancelDisabled: false, + nzOkText: '刷新', + nzCancelText: '忽略', + nzOnOk: () => location.reload() + }); + } + if (ev instanceof NavigationEnd) { + this.titleSrv.setTitle(); + this.modalSrv.closeAll(); + } + }); + } +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 00000000..4fa434d8 --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,72 @@ +/* eslint-disable import/order */ +/* eslint-disable import/no-duplicates */ +import { HttpClientModule } from '@angular/common/http'; +import { default as ngLang } from '@angular/common/locales/zh'; +import { APP_INITIALIZER, LOCALE_ID, NgModule, Type } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { SimpleInterceptor } from '@delon/auth'; +import { NzNotificationModule } from 'ng-zorro-antd/notification'; + +// #region global third module + +import { BidiModule } from '@angular/cdk/bidi'; +const GLOBAL_THIRD_MODULES: Array> = [BidiModule]; + +// #endregion + +// #region Http Interceptors +import { HTTP_INTERCEPTORS } from '@angular/common/http'; + +import { DefaultInterceptor } from '@core'; + +const INTERCEPTOR_PROVIDES = [ + { provide: HTTP_INTERCEPTORS, useClass: SimpleInterceptor, multi: true }, + { provide: HTTP_INTERCEPTORS, useClass: DefaultInterceptor, multi: true } +]; +// #endregion + +// #region Startup Service +import { StartupService } from '@core'; +export function StartupServiceFactory(startupService: StartupService): () => Promise { + return () => startupService.load(); +} +const APPINIT_PROVIDES = [ + StartupService, + { + provide: APP_INITIALIZER, + useFactory: StartupServiceFactory, + deps: [StartupService], + multi: true + } +]; +// #endregion + +import { AppComponent } from './app.component'; +import { CoreModule } from './core/core.module'; +import { GlobalConfigModule } from './global-config.module'; +import { LayoutModule } from './layout/layout.module'; +import { RoutesModule } from './routes/routes.module'; +import { SharedModule } from './shared/shared.module'; +import { STWidgetModule } from './shared/widget/st-widget.module'; +import { Observable } from 'rxjs'; + +@NgModule({ + declarations: [AppComponent], + imports: [ + BrowserModule, + BrowserAnimationsModule, + HttpClientModule, + GlobalConfigModule.forRoot(), + CoreModule, + SharedModule, + LayoutModule, + RoutesModule, + STWidgetModule, + NzNotificationModule, + ...GLOBAL_THIRD_MODULES + ], + providers: [...INTERCEPTOR_PROVIDES, ...APPINIT_PROVIDES], + bootstrap: [AppComponent] +}) +export class AppModule {} diff --git a/src/app/core/README.md b/src/app/core/README.md new file mode 100644 index 00000000..2d98e129 --- /dev/null +++ b/src/app/core/README.md @@ -0,0 +1,5 @@ +### CoreModule + +**应** 仅只留 `providers` 属性。 + +**作用:** 一些通用服务,例如:用户消息、HTTP数据访问。 diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts new file mode 100644 index 00000000..58522fc1 --- /dev/null +++ b/src/app/core/core.module.ts @@ -0,0 +1,12 @@ +import { NgModule, Optional, SkipSelf } from '@angular/core'; + +import { throwIfAlreadyLoaded } from './module-import-guard'; + +@NgModule({ + providers: [] +}) +export class CoreModule { + constructor(@Optional() @SkipSelf() parentModule: CoreModule) { + throwIfAlreadyLoaded(parentModule, 'CoreModule'); + } +} diff --git a/src/app/core/core.service.ts b/src/app/core/core.service.ts new file mode 100644 index 00000000..ab9b87dc --- /dev/null +++ b/src/app/core/core.service.ts @@ -0,0 +1,90 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 14:06:18 + * @Description: 全局核心服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { CacheService } from '@delon/cache'; +import { SettingsService } from '@delon/theme'; +import { EnvironmentService } from '@env/environment.service'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Injectable({ + providedIn: 'root', +}) +export class CoreService { + // 获取当前登录用户信息 + public $api_get_current_user_info = `/scm/cuc/cuc/user/getUserDetail`; + + // 获取当前用户所拥有的菜单 + public $api_get_current_user_menus = `/scm/cuc/cuc/functionInfo/getUserHaveFunctionsList`; + + constructor(private injector: Injector) {} + // 注入路由 + public get router(): Router { + return this.injector.get(Router); + } + + // 注入全局设置服务 + public get settingSrv(): SettingsService { + return this.injector.get(SettingsService); + } + + // 注入缓存服务 + public get cacheSrv(): CacheService { + return this.injector.get(CacheService); + } + + // 注入令牌服务 + public get tokenSrv(): ITokenService { + return this.injector.get(DA_SERVICE_TOKEN); + } + + // 注入消息服务 + public get msgSrv(): NzMessageService { + return this.injector.get(NzMessageService); + } + + // 注入环境服务 + public get envSrv(): EnvironmentService { + return this.injector.get(EnvironmentService); + } + + // 注入路由复用服务 + private get reuseTabService(): ReuseTabService { + return this.injector.get(ReuseTabService); + } + + // 登录状态 + public get loginStatus(): boolean { + try { + return !!this.tokenSrv.get()?.token; + } catch (error) { + return false; + } + } + + // 权限认证凭据(TOKEN) + public get token(): string { + return this.tokenSrv.get()?.token || ''; + } + + /** + * 登出系统 + * @param showMsg 是否显示登录过期弹窗 + */ + logout(showMsg: boolean = false): void { + if (showMsg) { + this.msgSrv.warning('未登录或登录信息已过期,请重新登录!'); + } + this.settingSrv.setUser({}); + this.tokenSrv.clear(); + this.cacheSrv.clear(); + this.router.navigate([this.tokenSrv.login_url]); + } +} diff --git a/src/app/core/index.ts b/src/app/core/index.ts new file mode 100644 index 00000000..c7024606 --- /dev/null +++ b/src/app/core/index.ts @@ -0,0 +1,6 @@ +export * from './module-import-guard'; +export * from './net/default.interceptor'; + +// Services +export * from './core.service'; +export * from './startup/startup.service'; diff --git a/src/app/core/module-import-guard.ts b/src/app/core/module-import-guard.ts new file mode 100644 index 00000000..ad3d795a --- /dev/null +++ b/src/app/core/module-import-guard.ts @@ -0,0 +1,6 @@ +// https://angular.io/guide/styleguide#style-04-12 +export function throwIfAlreadyLoaded(parentModule: any, moduleName: string): void { + if (parentModule) { + throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`); + } +} diff --git a/src/app/core/net/default.interceptor.ts b/src/app/core/net/default.interceptor.ts new file mode 100644 index 00000000..8f5892aa --- /dev/null +++ b/src/app/core/net/default.interceptor.ts @@ -0,0 +1,261 @@ +import { + HttpErrorResponse, + HttpEvent, + HttpHandler, + HttpHeaders, + HttpInterceptor, + HttpRequest, + HttpResponseBase +} from '@angular/common/http'; +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { _HttpClient } from '@delon/theme'; +import { environment } from '@env/environment'; +import { NzNotificationService } from 'ng-zorro-antd/notification'; +import { BehaviorSubject, Observable, of, throwError } from 'rxjs'; +import { catchError, filter, mergeMap, switchMap, take } from 'rxjs/operators'; + +const CODEMESSAGE: { [key: number]: string } = { + 200: '服务器成功返回请求的数据。', + 201: '新建或修改数据成功。', + 202: '一个请求已经进入后台排队(异步任务)。', + 204: '删除数据成功。', + 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', + 401: '用户没有权限(令牌、用户名、密码错误)。', + 403: '用户得到授权,但是访问是被禁止的。', + 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', + 406: '请求的格式不可得。', + 410: '请求的资源被永久删除,且不会再得到的。', + 422: '当创建一个对象时,发生一个验证错误。', + 500: '服务器发生错误,请检查服务器。', + 502: '网关错误。', + 503: '服务不可用,服务器暂时过载或维护。', + 504: '网关超时。' +}; + +/** + * 默认HTTP拦截器,其注册细节见 `app.module.ts` + */ +@Injectable() +export class DefaultInterceptor implements HttpInterceptor { + private refreshTokenEnabled = environment.api.refreshTokenEnabled; + private refreshTokenType: 're-request' | 'auth-refresh' = environment.api.refreshTokenType; + private refreshToking = false; + private refreshToken$: BehaviorSubject = new BehaviorSubject(null); + + constructor(private injector: Injector) { + if (this.refreshTokenType === 'auth-refresh') { + this.buildAuthRefresh(); + } + } + + private get notification(): NzNotificationService { + return this.injector.get(NzNotificationService); + } + + private get tokenSrv(): ITokenService { + return this.injector.get(DA_SERVICE_TOKEN); + } + + private get http(): _HttpClient { + return this.injector.get(_HttpClient); + } + + private goTo(url: string): void { + setTimeout(() => this.injector.get(Router).navigateByUrl(url)); + } + + private checkStatus(ev: HttpResponseBase): void { + if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) { + return; + } + + const errortext = CODEMESSAGE[ev.status] || ev.statusText; + this.notification.error(`请求错误 ${ev.status}: ${ev.url}`, errortext); + } + + /** + * 刷新 Token 请求 + */ + private refreshTokenRequest(): Observable { + const model = this.tokenSrv.get(); + return this.http.post(`/api/auth/refresh`, null, null, { headers: { refresh_token: model?.refresh_token || '' } }); + } + + // #region 刷新Token方式一:使用 401 重新刷新 Token + + private tryRefreshToken(ev: HttpResponseBase, req: HttpRequest, next: HttpHandler): Observable { + // 1、若请求为刷新Token请求,表示来自刷新Token可以直接跳转登录页 + if ([`/api/auth/refresh`].some(url => req.url.includes(url))) { + this.toLogin(); + return throwError(ev); + } + // 2、如果 `refreshToking` 为 `true` 表示已经在请求刷新 Token 中,后续所有请求转入等待状态,直至结果返回后再重新发起请求 + if (this.refreshToking) { + return this.refreshToken$.pipe( + filter(v => !!v), + take(1), + switchMap(() => next.handle(this.reAttachToken(req))) + ); + } + // 3、尝试调用刷新 Token + this.refreshToking = true; + this.refreshToken$.next(null); + + return this.refreshTokenRequest().pipe( + switchMap(res => { + // 通知后续请求继续执行 + this.refreshToking = false; + this.refreshToken$.next(res); + // 重新保存新 token + this.tokenSrv.set(res); + // 重新发起请求 + return next.handle(this.reAttachToken(req)); + }), + catchError(err => { + this.refreshToking = false; + this.toLogin(); + return throwError(err); + }) + ); + } + + /** + * 重新附加新 Token 信息 + * + * > 由于已经发起的请求,不会再走一遍 `@delon/auth` 因此需要结合业务情况重新附加新的 Token + */ + private reAttachToken(req: HttpRequest): HttpRequest { + // 以下示例是以 NG-ALAIN 默认使用 `SimpleInterceptor` + const token = this.tokenSrv.get()?.token; + return req.clone({ + setHeaders: { + token: `Bearer ${token}` + } + }); + } + + // #endregion + + // #region 刷新Token方式二:使用 `@delon/auth` 的 `refresh` 接口 + + private buildAuthRefresh(): void { + if (!this.refreshTokenEnabled) { + return; + } + this.tokenSrv.refresh + .pipe( + filter(() => !this.refreshToking), + switchMap(res => { + console.log(res); + this.refreshToking = true; + return this.refreshTokenRequest(); + }) + ) + .subscribe( + res => { + // TODO: Mock expired value + res.expired = +new Date() + 1000 * 60 * 5; + this.refreshToking = false; + this.tokenSrv.set(res); + }, + () => this.toLogin() + ); + } + + // #endregion + + private toLogin(): void { + this.notification.error(`未登录或登录已过期,请重新登录。`, ``); + this.goTo(this.tokenSrv.login_url!); + } + + private handleData(ev: HttpResponseBase, req: HttpRequest, next: HttpHandler): Observable { + this.checkStatus(ev); + // 业务处理:一些通用操作 + switch (ev.status) { + case 200: + // 业务层级错误处理,以下是假定restful有一套统一输出格式(指不管成功与否都有相应的数据格式)情况下进行处理 + // 例如响应内容: + // 错误内容:{ status: 1, msg: '非法参数' } + // 正确内容:{ status: 0, response: { } } + // 则以下代码片断可直接适用 + // if (ev instanceof HttpResponse) { + // const body = ev.body; + // if (body && body.status !== 0) { + // this.injector.get(NzMessageService).error(body.msg); + // // 注意:这里如果继续抛出错误会被行254的 catchError 二次拦截,导致外部实现的 Pipe、subscribe 操作被中断,例如:this.http.get('/').subscribe() 不会触发 + // // 如果你希望外部实现,需要手动移除行254 + // return throwError({}); + // } else { + // // 忽略 Blob 文件体 + // if (ev.body instanceof Blob) { + // return of(ev); + // } + // // 重新修改 `body` 内容为 `response` 内容,对于绝大多数场景已经无须再关心业务状态码 + // return of(new HttpResponse(Object.assign(ev, { body: body.response }))); + // // 或者依然保持完整的格式 + // return of(ev); + // } + // } + break; + case 401: + if (this.refreshTokenEnabled && this.refreshTokenType === 're-request') { + return this.tryRefreshToken(ev, req, next); + } + this.toLogin(); + break; + case 403: + case 404: + case 500: + this.goTo(`/exception/${ev.status}`); + break; + default: + if (ev instanceof HttpErrorResponse) { + console.warn( + '未可知错误,大部分是由于后端不支持跨域CORS或无效配置引起,请参考 https://ng-alain.com/docs/server 解决跨域问题', + ev + ); + } + break; + } + if (ev instanceof HttpErrorResponse) { + return throwError(ev); + } else { + return of(ev); + } + } + + private getAdditionalHeaders(headers?: HttpHeaders): { [name: string]: string } { + const res: { [name: string]: string } = {}; + // const lang = this.injector.get(ALAIN_I18N_TOKEN).currentLang; + // if (!headers?.has('Accept-Language') && lang) { + // res['Accept-Language'] = lang; + // } + + return res; + } + + intercept(req: HttpRequest, next: HttpHandler): Observable> { + // 统一加上服务端前缀 + let url = req.url; + if (!url.startsWith('https://') && !url.startsWith('http://')) { + const { baseUrl } = environment.api; + url = baseUrl + (baseUrl.endsWith('/') && url.startsWith('/') ? url.substring(1) : url); + } + + const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) }); + return next.handle(newReq).pipe( + mergeMap(ev => { + // 允许统一对请求错误处理 + if (ev instanceof HttpResponseBase) { + return this.handleData(ev, newReq, next); + } + // 若一切都正常,则后续操作 + return of(ev); + }), + catchError((err: HttpErrorResponse) => this.handleData(err, newReq, next)) + ); + } +} diff --git a/src/app/core/startup/startup.service.ts b/src/app/core/startup/startup.service.ts new file mode 100644 index 00000000..b331af95 --- /dev/null +++ b/src/app/core/startup/startup.service.ts @@ -0,0 +1,158 @@ +import { HttpClient } from '@angular/common/http'; +import { Inject, Injectable } from '@angular/core'; +import { ACLService } from '@delon/acl'; +import { MenuService, SettingsService, TitleService, _HttpClient } from '@delon/theme'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { NzIconService } from 'ng-zorro-antd/icon'; +import { Observable, zip } from 'rxjs'; +import { catchError, map } from 'rxjs/operators'; + +import { ICONS } from '../../../style-icons'; +import { ICONS_AUTO } from '../../../style-icons-auto'; +import { CoreService } from '../core.service'; + +/** + * Used for application startup + * Generally used to get the basic data of the application, like: Menu Data, User Data, etc. + */ +@Injectable() +export class StartupService { + constructor( + iconSrv: NzIconService, + private menuService: MenuService, + private settingService: SettingsService, + private aclService: ACLService, + private titleService: TitleService, + private httpClient: _HttpClient, + private coreSrv: CoreService + ) { + iconSrv.addIcon(...ICONS_AUTO, ...ICONS); + } + + // TODO: 退出登录时需要清理用户信息 + + load(): Promise { + return new Promise(resolve => { + let data; + if (this.coreSrv.loginStatus) { + // 本地菜单 + // data = this.loadMockData(); + // 远程菜单 + data = this.loadRemoteData(); + } else { + data = this.loadMockData(); + } + + data + .pipe( + catchError(res => { + console.warn(`StartupService.load: Network request failed`, res); + resolve(); + return []; + }) + ) + .subscribe( + ([appData, userData, menuData]) => this.initSystem(appData, userData, menuData), + err => { + console.log(err); + }, + () => resolve() + ); + }); + } + + /** + * 系统初始化 + * + * @param langData 翻译数据 + * @param appData App应用数据 + * @param userData 用户数据 + * @param menuData 菜单数据 + */ + private initSystem(appData: NzSafeAny, userData: NzSafeAny, menuData: NzSafeAny): void { + // 应用信息:包括站点名、描述、年份 + this.settingService.setApp(appData); + // 用户信息:包括姓名、头像、邮箱地址 + this.settingService.setUser(userData); + // ACL:设置权限为全量 + this.aclService.setFull(true); + // 初始化菜单 + this.menuService.add(menuData); + // 设置页面标题的后缀 + this.titleService.default = ''; + this.titleService.suffix = appData.name; + } + + /** + * @description 加载本地模拟数据 + * @returns 程序初始化数据 + */ + loadMockData(): Observable<[object, object, object]> { + // 登录时调用远程数据, 非登录状态下调用Mock数据 + + // App数据 + const appData = this.httpClient.get(`assets/mocks/app-data.json`).pipe(map((res: any) => res.app)); + + // 用户数据 + const userData = this.coreSrv.loginStatus + ? this.httpClient.post(this.coreSrv.$api_get_current_user_info, {}).pipe(map((res: any) => res.data)) + : this.httpClient.get('assets/mocks/user-data.json').pipe(map((res: any) => res.user)); + + // 菜单数据 + const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.menu)); + + return zip(appData, userData, menuData); + } + + /** + * @description 加载远程数据 + * @returns 程序初始化数据 + */ + loadRemoteData(): Observable<[object, object, object]> { + // 登录时调用远程数据, 非登录状态下调用Mock数据 + + // App数据 + const appData = this.httpClient.get(`assets/mocks/app-data.json`).pipe(map((res: any) => res.app)); + + // 用户数据 + const userData = this.coreSrv.loginStatus + ? this.httpClient.post(this.coreSrv.$api_get_current_user_info, {}).pipe(map((res: any) => res.data)) + : this.httpClient.get('assets/mocks/user-data.json').pipe(map((res: any) => res.user)); + + // 菜单数据 + const menuData = this.httpClient + .post(this.coreSrv.$api_get_current_user_menus, { + appId: this.coreSrv.envSrv.getEnvironment().appId + }) + .pipe(map((res: any) => res.data)); + + return zip(appData, userData, menuData); + } + + // load(): Observable { + // const defaultLang = this.i18n.defaultLang; + // return zip(this.i18n.loadLangData(defaultLang), this.httpClient.get('assets/tmp/app-data.json')).pipe( + // // 接收其他拦截器后产生的异常消息 + // catchError(res => { + // console.warn(`StartupService.load: Network request failed`, res); + // return []; + // }), + // map(([langData, appData]: [Record, NzSafeAny]) => { + // // setting language data + // this.i18n.use(defaultLang, langData); + + // // 应用信息:包括站点名、描述、年份 + // this.settingService.setApp(appData.app); + // // 用户信息:包括姓名、头像、邮箱地址 + // this.settingService.setUser(appData.user); + // // ACL:设置权限为全量 + // this.aclService.setFull(true); + // // 初始化菜单 + // this.menuService.add(appData.menu); + // // 设置页面标题的后缀 + // this.titleService.default = ''; + // this.titleService.suffix = appData.app.name; + // }) + // ); + // } +} diff --git a/src/app/global-config.module.ts b/src/app/global-config.module.ts new file mode 100644 index 00000000..a09fa770 --- /dev/null +++ b/src/app/global-config.module.ts @@ -0,0 +1,65 @@ +/* eslint-disable import/order */ +import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core'; +import { throwIfAlreadyLoaded } from '@core'; +import { ReuseTabMatchMode, ReuseTabService, ReuseTabStrategy } from '@delon/abc/reuse-tab'; +import { DelonACLModule } from '@delon/acl'; +import { AlainThemeModule } from '@delon/theme'; +import { AlainConfig, ALAIN_CONFIG } from '@delon/util'; +import { environment } from '@env/environment'; + +// Please refer to: https://ng-alain.com/docs/global-config +// #region NG-ALAIN Config + +const alainConfig: AlainConfig = { + st: { modal: { size: 'lg' } }, + pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true }, + auth: { login_url: '/passport/login' } +}; + +const alainModules = [AlainThemeModule.forRoot(), DelonACLModule.forRoot()]; +const alainProvides = [{ provide: ALAIN_CONFIG, useValue: alainConfig }]; + +// #region reuse-tab + +import { RouteReuseStrategy } from '@angular/router'; +alainProvides.push({ + provide: RouteReuseStrategy, + useClass: ReuseTabStrategy, + deps: [ReuseTabService] +} as any); + +// #endregion + +// #endregion + +// Please refer to: https://ng.ant.design/docs/global-config/en#how-to-use +// #region NG-ZORRO Config + +import { NzConfig, NZ_CONFIG } from 'ng-zorro-antd/core/config'; + +const ngZorroConfig: NzConfig = {}; + +const zorroProvides = [{ provide: NZ_CONFIG, useValue: ngZorroConfig }]; + +// #endregion + +@NgModule({ + imports: [...alainModules, ...(environment.modules || [])] +}) +export class GlobalConfigModule { + constructor(@Optional() @SkipSelf() parentModule: GlobalConfigModule, reuseTabService: ReuseTabService) { + throwIfAlreadyLoaded(parentModule, 'GlobalConfigModule'); + // NOTICE: Only valid for menus with reuse property + // Pls refer to the E-Mail demo effect + reuseTabService.mode = ReuseTabMatchMode.MenuForce; + // Shouled be trigger init, you can ingore when used `reuse-tab` component in layout component + reuseTabService.init(); + } + + static forRoot(): ModuleWithProviders { + return { + ngModule: GlobalConfigModule, + providers: [...alainProvides, ...zorroProvides] + }; + } +} diff --git a/src/app/layout/layout.module.ts b/src/app/layout/layout.module.ts new file mode 100644 index 00000000..5c0eac3c --- /dev/null +++ b/src/app/layout/layout.module.ts @@ -0,0 +1,64 @@ +import { LayoutModule as CDKLayoutModule } from '@angular/cdk/layout'; +import { CommonModule } from '@angular/common'; +import { NgModule, Type } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { GlobalFooterModule } from '@delon/abc/global-footer'; +import { NoticeIconModule } from '@delon/abc/notice-icon'; +import { AlainThemeModule } from '@delon/theme'; +import { ThemeBtnModule } from '@delon/theme/theme-btn'; +import { ScrollbarModule } from '@shared'; +import { NzAlertModule } from 'ng-zorro-antd/alert'; +import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete'; +import { NzAvatarModule } from 'ng-zorro-antd/avatar'; +import { NzBadgeModule } from 'ng-zorro-antd/badge'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzDividerModule } from 'ng-zorro-antd/divider'; +import { NzDrawerModule } from 'ng-zorro-antd/drawer'; +import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzLayoutModule } from 'ng-zorro-antd/layout'; +import { NzMessageModule } from 'ng-zorro-antd/message'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzSpinModule } from 'ng-zorro-antd/spin'; +import { NzSwitchModule } from 'ng-zorro-antd/switch'; +import { NzTimelineModule } from 'ng-zorro-antd/timeline'; +import { NzToolTipModule } from 'ng-zorro-antd/tooltip'; + +import { LayoutPassportComponent } from './passport/passport.component'; +import { PRO_COMPONENTS } from './pro/index'; + +const COMPONENTS: Array> = [...PRO_COMPONENTS, LayoutPassportComponent]; + +@NgModule({ + imports: [ + CommonModule, + RouterModule, + FormsModule, + AlainThemeModule, + GlobalFooterModule, + CDKLayoutModule, + NzSpinModule, + NzDropDownModule, + NzIconModule, + NzDrawerModule, + NzAutocompleteModule, + NzAvatarModule, + NzSwitchModule, + NzToolTipModule, + NzSelectModule, + NzDividerModule, + NzAlertModule, + NzLayoutModule, + NzButtonModule, + NzBadgeModule, + NzTimelineModule, + NoticeIconModule, + ThemeBtnModule, + ScrollbarModule, + NzMessageModule + ], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class LayoutModule {} diff --git a/src/app/layout/passport/passport.component.html b/src/app/layout/passport/passport.component.html new file mode 100644 index 00000000..e9beaece --- /dev/null +++ b/src/app/layout/passport/passport.component.html @@ -0,0 +1,13 @@ +
+ +
+
+
+ + ng-alain pro +
+
武林中最有影响力的《葵花宝典》;欲练神功,挥刀自宫
+
+ +
+
\ No newline at end of file diff --git a/src/app/layout/passport/passport.component.less b/src/app/layout/passport/passport.component.less new file mode 100644 index 00000000..a17b975f --- /dev/null +++ b/src/app/layout/passport/passport.component.less @@ -0,0 +1,74 @@ +@import '~@delon/theme/index'; +:host { + ::ng-deep { + .container { + display: flex; + flex-direction: column; + min-height: 100%; + background: #f0f2f5; + } + .langs { + width: 100%; + height: 40px; + line-height: 44px; + text-align: right; + .ant-dropdown-trigger { + display: inline-block; + } + .anticon { + margin-top: 24px; + margin-right: 24px; + font-size: 14px; + vertical-align: top; + cursor: pointer; + } + } + .wrap { + flex: 1; + padding: 32px 0; + } + .ant-form-item { + margin-bottom: 24px; + } + + @media (min-width: @screen-md-min) { + .container { + background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg'); + background-repeat: no-repeat; + background-position: center 110px; + background-size: 100%; + } + .wrap { + padding: 32px 0 24px; + } + } + .top { + text-align: center; + } + .header { + height: 44px; + line-height: 44px; + a { + text-decoration: none; + } + } + .logo { + height: 44px; + margin-right: 16px; + } + .title { + position: relative; + color: @heading-color; + font-weight: 600; + font-size: 33px; + font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif; + vertical-align: middle; + } + .desc { + margin-top: 12px; + margin-bottom: 40px; + color: @text-color-secondary; + font-size: @font-size-base; + } + } +} diff --git a/src/app/layout/passport/passport.component.ts b/src/app/layout/passport/passport.component.ts new file mode 100644 index 00000000..c48bb161 --- /dev/null +++ b/src/app/layout/passport/passport.component.ts @@ -0,0 +1,30 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; + +@Component({ + selector: 'layout-passport', + templateUrl: './passport.component.html', + styleUrls: ['./passport.component.less'] +}) +export class LayoutPassportComponent implements OnInit { + links = [ + { + title: '帮助', + href: '' + }, + { + title: '隐私', + href: '' + }, + { + title: '条款', + href: '' + } + ]; + + constructor(@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + ngOnInit(): void { + this.tokenService.clear(); + } +} diff --git a/src/app/layout/pro/components/footer/footer.component.html b/src/app/layout/pro/components/footer/footer.component.html new file mode 100644 index 00000000..59588807 --- /dev/null +++ b/src/app/layout/pro/components/footer/footer.component.html @@ -0,0 +1,16 @@ + + + Pro 首页 + + + + + + Alain Pro + + Copyright + + {{ year }} + 卡色 + 出品 + \ No newline at end of file diff --git a/src/app/layout/pro/components/footer/footer.component.ts b/src/app/layout/pro/components/footer/footer.component.ts new file mode 100644 index 00000000..0d23aebc --- /dev/null +++ b/src/app/layout/pro/components/footer/footer.component.ts @@ -0,0 +1,15 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-footer', + templateUrl: './footer.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProFooterComponent { + get year(): number { + return this.setting.app.year; + } + + constructor(private setting: SettingsService) {} +} diff --git a/src/app/layout/pro/components/header/header.component.html b/src/app/layout/pro/components/header/header.component.html new file mode 100644 index 00000000..eee9c54f --- /dev/null +++ b/src/app/layout/pro/components/header/header.component.html @@ -0,0 +1,25 @@ +
+
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+
+ +
+
+
+
diff --git a/src/app/layout/pro/components/header/header.component.ts b/src/app/layout/pro/components/header/header.component.ts new file mode 100644 index 00000000..659f5ab5 --- /dev/null +++ b/src/app/layout/pro/components/header/header.component.ts @@ -0,0 +1,68 @@ +import { DOCUMENT } from '@angular/common'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, OnDestroy, OnInit } from '@angular/core'; +import { RTL, RTLService } from '@delon/theme'; +import { combineLatest, fromEvent, Subject } from 'rxjs'; +import { distinctUntilChanged, takeUntil, tap, throttleTime } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; + +@Component({ + selector: 'layout-pro-header', + templateUrl: './header.component.html', + host: { + '[class.ant-layout-header]': 'true', + '[class.alain-pro__header-fixed]': 'pro.fixedHeader', + '[class.alain-pro__header-hide]': 'hideHeader', + '[style.padding.px]': '0' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProHeaderComponent implements OnInit, OnDestroy { + private destroy$ = new Subject(); + hideHeader = false; + + @HostBinding('style.width') + get getHeadWidth(): string { + const { isMobile, fixedHeader, menu, collapsed, width, widthInCollapsed } = this.pro; + if (isMobile || !fixedHeader || menu === 'top') { + return '100%'; + } + return collapsed ? `calc(100% - ${widthInCollapsed}px)` : `calc(100% - ${width}px)`; + } + + get collapsedIcon(): string { + let type = this.pro.collapsed ? 'unfold' : 'fold'; + if (this.rtl.dir === RTL) { + type = this.pro.collapsed ? 'fold' : 'unfold'; + } + return `menu-${type}`; + } + + constructor(public pro: BrandService, @Inject(DOCUMENT) private doc: any, private cdr: ChangeDetectorRef, private rtl: RTLService) {} + + private handScroll(): void { + if (!this.pro.autoHideHeader) { + this.hideHeader = false; + return; + } + setTimeout(() => { + this.hideHeader = this.doc.body.scrollTop + this.doc.documentElement.scrollTop > this.pro.autoHideHeaderTop; + }); + } + + ngOnInit(): void { + combineLatest([ + this.pro.notify.pipe(tap(() => this.cdr.markForCheck())), + fromEvent(window, 'scroll', { passive: false }).pipe(throttleTime(50), distinctUntilChanged()) + ]) + .pipe(takeUntil(this.destroy$)) + .subscribe(() => this.handScroll()); + + this.rtl.change.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges()); + } + + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } +} diff --git a/src/app/layout/pro/components/logo/logo.component.html b/src/app/layout/pro/components/logo/logo.component.html new file mode 100644 index 00000000..c6891a91 --- /dev/null +++ b/src/app/layout/pro/components/logo/logo.component.html @@ -0,0 +1,4 @@ + + {{ name }} +

{{ name }}

+
diff --git a/src/app/layout/pro/components/logo/logo.component.ts b/src/app/layout/pro/components/logo/logo.component.ts new file mode 100644 index 00000000..ac1366f2 --- /dev/null +++ b/src/app/layout/pro/components/logo/logo.component.ts @@ -0,0 +1,15 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-logo', + templateUrl: './logo.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProLogoComponent { + get name(): string { + return this.setting.app.name!; + } + + constructor(private setting: SettingsService) {} +} diff --git a/src/app/layout/pro/components/menu/menu.component.html b/src/app/layout/pro/components/menu/menu.component.html new file mode 100644 index 00000000..2d85d439 --- /dev/null +++ b/src/app/layout/pro/components/menu/menu.component.html @@ -0,0 +1,101 @@ + + + + + + + + + + + {{ i.text }} +
+ {{ i.badge }} +
+
+ + {{ i.text }} + {{ i.text }} + +
    + +
  • + + + + + + +
  • +
  • + + + + {{ l1.text }} +
    + {{ l1.badge }} +
    +
    +
    +
      + +
    • + +
    • +
    • +
        + +
      • + +
      • +
        +
      +
    • +
      +
    +
  • +
    +
diff --git a/src/app/layout/pro/components/menu/menu.component.ts b/src/app/layout/pro/components/menu/menu.component.ts new file mode 100644 index 00000000..dd3d7467 --- /dev/null +++ b/src/app/layout/pro/components/menu/menu.component.ts @@ -0,0 +1,125 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { MenuService } from '@delon/theme'; +import { InputBoolean } from '@delon/util'; +import { NzMenuModeType } from 'ng-zorro-antd/menu'; +import { Subject } from 'rxjs'; +import { filter, takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; +import { ProMenu } from '../../pro.types'; + +@Component({ + selector: '[layout-pro-menu]', + templateUrl: './menu.component.html', + host: { + '[class.alain-pro__menu]': 'true', + '[class.alain-pro__menu-only-icon]': 'pro.onlyIcon' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProMenuComponent implements OnInit, OnDestroy { + private unsubscribe$ = new Subject(); + menus?: ProMenu[]; + + @Input() @InputBoolean() disabledAcl = false; + @Input() mode: NzMenuModeType = 'inline'; + + constructor(private menuSrv: MenuService, private router: Router, public pro: BrandService, private cdr: ChangeDetectorRef) {} + + private cd(): void { + this.cdr.markForCheck(); + } + + private genMenus(data: ProMenu[]): void { + const res: ProMenu[] = []; + // ingores category menus + const ingoreCategores = data.reduce((prev, cur) => prev.concat(cur.children as ProMenu[]), [] as ProMenu[]); + this.menuSrv.visit(ingoreCategores, (item: ProMenu, parent: ProMenu | null) => { + if (!item._aclResult) { + if (this.disabledAcl) { + item.disabled = true; + } else { + item._hidden = true; + } + } + if (item._hidden === true) { + return; + } + if (parent === null) { + res.push(item); + } + }); + this.menus = res; + + this.openStatus(); + } + + private openStatus(): void { + const inFn = (list: ProMenu[]) => { + for (const i of list) { + i._open = false; + i._selected = false; + if (i.children!.length > 0) { + inFn(i.children!); + } + } + }; + inFn(this.menus!); + + let item = this.menuSrv.getHit(this.menus!, this.router.url, true); + if (!item) { + this.cd(); + return; + } + do { + item._selected = true; + if (!this.pro.isTopMenu && !this.pro.collapsed) { + item._open = true; + } + item = item._parent!; + } while (item); + this.cd(); + } + + openChange(item: ProMenu, statue: boolean): void { + const data = item._parent ? item._parent.children : this.menus; + if (data && data.length <= 1) { + return; + } + data!.forEach(i => (i._open = false)); + item._open = statue; + } + + closeCollapsed(): void { + const { pro } = this; + if (pro.isMobile) { + setTimeout(() => pro.setCollapsed(true), 25); + } + } + + ngOnInit(): void { + const { unsubscribe$, router, pro } = this; + this.menuSrv.change.pipe(takeUntil(unsubscribe$)).subscribe(res => this.genMenus(res)); + + router.events + .pipe( + takeUntil(unsubscribe$), + filter(e => e instanceof NavigationEnd) + ) + .subscribe(() => this.openStatus()); + + pro.notify + .pipe( + takeUntil(unsubscribe$), + filter(() => !!this.menus) + ) + .subscribe(() => this.cd()); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/components/notify/notify.component.html b/src/app/layout/pro/components/notify/notify.component.html new file mode 100644 index 00000000..a38da23a --- /dev/null +++ b/src/app/layout/pro/components/notify/notify.component.html @@ -0,0 +1,10 @@ + diff --git a/src/app/layout/pro/components/notify/notify.component.ts b/src/app/layout/pro/components/notify/notify.component.ts new file mode 100644 index 00000000..afa6b61b --- /dev/null +++ b/src/app/layout/pro/components/notify/notify.component.ts @@ -0,0 +1,183 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core'; +import { NoticeIconList, NoticeItem } from '@delon/abc/notice-icon'; +import formatDistanceToNow from 'date-fns/formatDistanceToNow'; +import parse from 'date-fns/parse'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'layout-pro-notify', + templateUrl: './notify.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetNotifyComponent { + data: NoticeItem[] = [ + { + title: '通知', + list: [], + emptyText: '你已查看所有通知', + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/wAhyIChODzsoKIOBHcBk.svg', + clearText: '清空通知' + }, + { + title: '消息', + list: [], + emptyText: '您已读完所有消息', + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/sAuJeJzSKbUmHfBQRzmZ.svg', + clearText: '清空消息' + }, + { + title: '待办', + list: [], + emptyText: '你已完成所有待办', + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/HsIsxMZiWKrNUavQUXqx.svg', + clearText: '清空待办' + } + ]; + count = 5; + loading = false; + + constructor(private msg: NzMessageService, private cdr: ChangeDetectorRef) {} + + updateNoticeData(notices: NoticeIconList[]): NoticeItem[] { + const data = this.data.slice(); + data.forEach(i => (i.list = [])); + + notices.forEach(item => { + const newItem = { ...item }; + if (typeof newItem.datetime === 'string') { + newItem.datetime = parse(newItem.datetime, 'yyyy-MM-dd', new Date()); + } + if (newItem.datetime) { + newItem.datetime = formatDistanceToNow(newItem.datetime as Date); + } + if (newItem.extra && newItem.status) { + newItem.color = ( + { + todo: undefined, + processing: 'blue', + urgent: 'red', + doing: 'gold' + } as NzSafeAny + )[newItem.status]; + } + data.find(w => w.title === newItem.type)?.list.push(newItem); + }); + return data; + } + + loadData(): void { + if (this.loading) { + return; + } + this.loading = true; + setTimeout(() => { + this.data = this.updateNoticeData([ + { + id: '000000001', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: '通知' + }, + { + id: '000000002', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: '通知' + }, + { + id: '000000003', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: '通知' + }, + { + id: '000000004', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: '通知' + }, + { + id: '000000005', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: '通知' + }, + { + id: '000000006', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: '消息' + }, + { + id: '000000007', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: '消息' + }, + { + id: '000000008', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: '消息' + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: '待办' + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: '待办' + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: '待办' + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: '待办' + } + ]); + + this.loading = false; + + this.cdr.detectChanges(); + }, 1000); + } + + clear(type: string): void { + this.msg.success(`清空了 ${type}`); + } + + select(res: any): void { + this.msg.success(`点击了 ${res.title} 的 ${res.item.title}`); + } +} diff --git a/src/app/layout/pro/components/quick-chat/quick-chat-status.component.html b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.html new file mode 100644 index 00000000..99ce05f6 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.html @@ -0,0 +1,4 @@ +
+ + +
diff --git a/src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts new file mode 100644 index 00000000..a8650c81 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts @@ -0,0 +1,42 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; +import { Subscription } from 'rxjs'; + +import { LayoutProWidgetQuickChatService } from './quick-chat.service'; + +@Component({ + selector: 'quick-chat-status', + templateUrl: './quick-chat-status.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickChatStatusComponent implements OnInit, OnDestroy { + private status$!: Subscription; + + status = 'default'; + + constructor(private srv: LayoutProWidgetQuickChatService, private cdr: ChangeDetectorRef) {} + + show(): void { + if (this.srv.showDialog) { + return; + } + this.srv.showDialog = true; + } + + ngOnInit(): void { + this.status$ = this.srv.status.subscribe(res => { + switch (res) { + case 'online': + this.status = 'success'; + break; + default: + this.status = 'default'; + break; + } + this.cdr.detectChanges(); + }); + } + + ngOnDestroy(): void { + this.status$.unsubscribe(); + } +} diff --git a/src/app/layout/pro/components/quick-chat/quick-chat.component.html b/src/app/layout/pro/components/quick-chat/quick-chat.component.html new file mode 100644 index 00000000..21ec6d85 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat.component.html @@ -0,0 +1,47 @@ +
+ +
+ {{ !collapsed && inited ? 'Connecting...' : 'Ng Alain Pro' }} +
+
+ + +
    +
  • Add
  • +
  • Edit
  • +
  • Remove
  • +
+
+ +
+
+
+
+
+ +
+ +
+ +
+
+ {{ m.name }} +
+
+ +
+
+
+
+
+
+
+
+ +
+
diff --git a/src/app/layout/pro/components/quick-chat/quick-chat.component.ts b/src/app/layout/pro/components/quick-chat/quick-chat.component.ts new file mode 100644 index 00000000..db7379d6 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat.component.ts @@ -0,0 +1,131 @@ +import { + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + EventEmitter, + HostBinding, + Input, + OnDestroy, + OnInit, + Output, + ViewChild +} from '@angular/core'; +import { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util'; +import { ScrollbarDirective } from '@shared'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { LayoutProWidgetQuickChatService } from './quick-chat.service'; + +@Component({ + selector: 'quick-chat', + templateUrl: './quick-chat.component.html', + host: { + '[class.quick-chat]': 'true', + '[class.quick-chat__collapsed]': 'collapsed', + '[class.d-none]': '!showDialog' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickChatComponent implements OnInit, OnDestroy { + static ngAcceptInputType_height: NumberInput; + static ngAcceptInputType_width: BooleanInput; + static ngAcceptInputType_collapsed: BooleanInput; + + private unsubscribe$ = new Subject(); + messages: any[] = [ + { type: 'only-text', msg: '2018-12-12' }, + { + type: 'text', + dir: 'left', + mp: './assets/logo-color.svg', + msg: '请一句话描述您的问题,我们来帮您解决并转到合适的人工服务。😎' + } + ]; + text = ''; + inited?: boolean; + hasMessage = false; + + @ViewChild('messageScrollbar', { static: true }) messageScrollbar?: ScrollbarDirective; + + // #region fileds + @Input() @InputNumber() height = 380; + @Input() @InputNumber() @HostBinding('style.width.px') width = 320; + @Input() @InputBoolean() collapsed = true; + @Output() readonly collapsedChange = new EventEmitter(); + @Output() readonly closed = new EventEmitter(); + // #endregion + + constructor(private srv: LayoutProWidgetQuickChatService, private cdr: ChangeDetectorRef) {} + + get showDialog(): boolean { + return this.srv.showDialog; + } + + private scrollToBottom(): void { + this.cdr.detectChanges(); + setTimeout(() => this.messageScrollbar!.scrollToBottom()); + } + + toggleCollapsed(): void { + this.hasMessage = false; + this.collapsed = !this.collapsed; + this.collapsedChange.emit(this.collapsed); + } + + close(): void { + this.srv.close(); + this.closed.emit(true); + } + + enterSend(e: Event): void { + if ((e as KeyboardEvent).keyCode !== 13) { + return; + } + if (e) { + e.preventDefault(); + e.stopPropagation(); + } + this.send(); + } + + send(): boolean { + if (!this.text) { + return false; + } + + if (typeof this.inited === 'undefined') { + this.inited = true; + } + const item = { + type: 'text', + msg: this.text, + dir: 'right' + }; + this.srv.send(item); + this.messages.push(item); + this.text = ''; + this.scrollToBottom(); + return false; + } + + ngOnInit(): void { + const { srv, messages, unsubscribe$ } = this; + srv.message.pipe(takeUntil(unsubscribe$)).subscribe(res => { + if (this.collapsed) { + this.hasMessage = true; + } + messages.push(res); + this.scrollToBottom(); + }); + srv.status.pipe(takeUntil(unsubscribe$)).subscribe(res => { + this.inited = res === 'online' ? false : undefined; + }); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/components/quick-chat/quick-chat.service.ts b/src/app/layout/pro/components/quick-chat/quick-chat.service.ts new file mode 100644 index 00000000..f688b1f3 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat.service.ts @@ -0,0 +1,80 @@ +import { Injectable, OnDestroy } from '@angular/core'; +import { Observable, Subject, Subscription } from 'rxjs'; +import { webSocket, WebSocketSubject } from 'rxjs/webSocket'; + +export type QuickChatStatus = 'online' | 'offline'; + +@Injectable({ providedIn: 'root' }) +export class LayoutProWidgetQuickChatService implements OnDestroy { + private url = 'wss://echo.websocket.org/?encoding=text'; + private _ws!: WebSocketSubject<{}>; + private $statusOrg = new Subject(); + private messageOrg$: Subscription | null = null; + private $status = new Subject(); + private $message = new Subject<{}>(); + showDialog = true; + + constructor() { + this.$statusOrg.subscribe((res: any) => { + this.$status.next(res.type === 'open' ? 'online' : 'offline'); + }); + } + + get ws(): WebSocketSubject<{}> { + return this._ws!; + } + + get message(): Observable<{}> { + return this.$message.asObservable(); + } + + get status(): Observable { + return this.$status.asObservable(); + } + + open(): WebSocketSubject<{}> { + if (this._ws) { + return this._ws; + } + + this._ws = webSocket({ + url: this.url, + serializer: (value: any) => JSON.stringify(value), + deserializer: (e: MessageEvent) => { + const res = JSON.parse(e.data); + res.dir = 'left'; + res.mp = './assets/logo-color.svg'; + return res; + }, + openObserver: this.$statusOrg, + closeObserver: this.$statusOrg + }); + return this._ws; + } + + close(): void { + this.showDialog = false; + if (this.messageOrg$) { + this.messageOrg$.unsubscribe(); + this.messageOrg$ = null; + } + } + + send(msg: {}): void { + if (!this._ws) { + this.open(); + } + if (!this.messageOrg$) { + this.messageOrg$ = this._ws.subscribe(res => this.$message.next(res)); + } + this._ws.next(msg); + } + + ngOnDestroy(): void { + const { $statusOrg, $status, $message } = this; + this.close(); + $statusOrg.complete(); + $status.complete(); + $message.complete(); + } +} diff --git a/src/app/layout/pro/components/quick/quick-panel.component.html b/src/app/layout/pro/components/quick/quick-panel.component.html new file mode 100644 index 00000000..e4d776d1 --- /dev/null +++ b/src/app/layout/pro/components/quick/quick-panel.component.html @@ -0,0 +1,87 @@ +
+ + + +
+ +
+
+ + + +
+ +
+
+
+ {{ i.time }} +
+
{{ i.tags }}
+
+
+
+ +
+ {{ i.title }} +
{{ i.content }}
+
+ + +
+ + + + +
    +
  • Item1
  • +
  • Item2
  • +
  • +
  • Item3
  • +
+
+
+
+ +

Notifications

+
+ Enable notifications: + +
+
+ Enable audit log: + +
+
+ Notify on new orders: + +
+

Orders

+
+ Enable order tracking: + +
+
+ Enable orders reports: + +
+

Customers

+
+ Enable customer singup: + +
+
+ Enable customers reporting: + +
+

Other

+
+ Weak Mode: + +
+
+
+
diff --git a/src/app/layout/pro/components/quick/quick-panel.component.ts b/src/app/layout/pro/components/quick/quick-panel.component.ts new file mode 100644 index 00000000..0dfb458c --- /dev/null +++ b/src/app/layout/pro/components/quick/quick-panel.component.ts @@ -0,0 +1,42 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +import { BrandService } from '../../pro.service'; +import { ProLayout } from '../../pro.types'; + +@Component({ + selector: 'layout-pro-quick-panel', + templateUrl: './quick-panel.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickPanelComponent implements OnInit { + type = 0; + data: any; + get layout(): ProLayout { + return this.pro.layout; + } + + constructor(private pro: BrandService, private http: _HttpClient, private cd: ChangeDetectorRef, public msg: NzMessageService) {} + + ngOnInit(): void { + this.http.get('/quick').subscribe(res => { + this.data = res; + this.changeType(0); + }); + } + + changeType(type: number): void { + this.type = type; + // wait checkbox & switch render + setTimeout(() => this.cd.detectChanges()); + } + + updateSetting(_type: string, _value: any): void { + this.msg.success('Success!'); + } + + setLayout(name: string, value: any): void { + this.pro.setLayout(name, value); + } +} diff --git a/src/app/layout/pro/components/quick/quick.component.html b/src/app/layout/pro/components/quick/quick.component.html new file mode 100644 index 00000000..ba912ab8 --- /dev/null +++ b/src/app/layout/pro/components/quick/quick.component.html @@ -0,0 +1 @@ + diff --git a/src/app/layout/pro/components/quick/quick.component.ts b/src/app/layout/pro/components/quick/quick.component.ts new file mode 100644 index 00000000..a38f1267 --- /dev/null +++ b/src/app/layout/pro/components/quick/quick.component.ts @@ -0,0 +1,51 @@ +import { Direction, Directionality } from '@angular/cdk/bidi'; +import { ChangeDetectionStrategy, Component, HostListener, OnDestroy, OnInit, Optional } from '@angular/core'; +import { DrawerHelper } from '@delon/theme'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { LayoutProWidgetQuickPanelComponent } from './quick-panel.component'; + +@Component({ + selector: 'layout-pro-quick', + templateUrl: './quick.component.html', + host: { + '[class.alain-pro__header-item]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickComponent implements OnInit, OnDestroy { + private destroy$ = new Subject(); + private dir: Direction = 'ltr'; + + constructor(private drawerHelper: DrawerHelper, @Optional() private directionality: Directionality) {} + + @HostListener('click') + show(): void { + this.drawerHelper + .create(``, LayoutProWidgetQuickPanelComponent, null, { + size: 480, + drawerOptions: { + nzTitle: undefined, + nzPlacement: this.dir === 'rtl' ? 'left' : 'right', + nzBodyStyle: { + 'min-height': '100%', + padding: 0 + } + } + }) + .subscribe(); + } + + ngOnInit(): void { + this.dir = this.directionality.value; + this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => { + this.dir = direction; + }); + } + + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } +} diff --git a/src/app/layout/pro/components/rtl/rtl.component.ts b/src/app/layout/pro/components/rtl/rtl.component.ts new file mode 100644 index 00000000..3b92db96 --- /dev/null +++ b/src/app/layout/pro/components/rtl/rtl.component.ts @@ -0,0 +1,23 @@ +import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core'; +import { RTLService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-rtl', + template: ` + + `, + host: { + '[class.alain-pro__header-item]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetRTLComponent { + constructor(public rtl: RTLService) {} + + @HostListener('click') + toggleDirection(): void { + this.rtl.toggle(); + } +} diff --git a/src/app/layout/pro/components/search/search.component.html b/src/app/layout/pro/components/search/search.component.html new file mode 100644 index 00000000..b16ed7ca --- /dev/null +++ b/src/app/layout/pro/components/search/search.component.html @@ -0,0 +1,9 @@ + +
+ +
+ + + {{ item.no }} + + diff --git a/src/app/layout/pro/components/search/search.component.ts b/src/app/layout/pro/components/search/search.component.ts new file mode 100644 index 00000000..6f028f3d --- /dev/null +++ b/src/app/layout/pro/components/search/search.component.ts @@ -0,0 +1,49 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, OnDestroy, ViewChild } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { Subject } from 'rxjs'; +import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators'; + +@Component({ + selector: 'layout-pro-search', + templateUrl: 'search.component.html', + host: { + '[class.alain-pro__header-item]': 'true', + '[class.alain-pro__header-search]': 'true', + '[class.alain-pro__header-search-show]': 'show' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetSearchComponent implements OnDestroy { + @ViewChild('ipt', { static: true }) private ipt!: ElementRef; + show = false; + q = ''; + search$ = new Subject(); + list: any[] = []; + + constructor(http: _HttpClient, cdr: ChangeDetectorRef) { + this.search$ + .pipe( + debounceTime(300), + distinctUntilChanged(), + switchMap((q: string) => http.get('/user', { no: q, pi: 1, ps: 5 })) + ) + .subscribe((res: any) => { + this.list = res.list; + cdr.detectChanges(); + }); + } + + onSearch(): void { + this.search$.next(this.ipt.nativeElement.value); + } + + @HostListener('click') + _click(): void { + this.ipt.nativeElement.focus(); + this.show = true; + } + + ngOnDestroy(): void { + this.search$.unsubscribe(); + } +} diff --git a/src/app/layout/pro/components/user/user.component.html b/src/app/layout/pro/components/user/user.component.html new file mode 100644 index 00000000..ece6ea2f --- /dev/null +++ b/src/app/layout/pro/components/user/user.component.html @@ -0,0 +1,25 @@ +
+ + {{ settings.user.name }} +
+ +
+
+ + 个人中心 +
+
+ + 个人设置 +
+
+ + 触发错误 +
+
  • +
    + + 退出登录 +
    +
    +
    \ No newline at end of file diff --git a/src/app/layout/pro/components/user/user.component.ts b/src/app/layout/pro/components/user/user.component.ts new file mode 100644 index 00000000..9068909a --- /dev/null +++ b/src/app/layout/pro/components/user/user.component.ts @@ -0,0 +1,29 @@ +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-user', + templateUrl: 'user.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetUserComponent implements OnInit { + constructor(public settings: SettingsService, private router: Router, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + ngOnInit(): void { + // mock + const token = this.tokenService.get() || { + token: 'nothing', + name: 'Admin', + avatar: './assets/logo-color.svg', + email: 'cipchk@qq.com' + }; + this.tokenService.set(token); + } + + logout(): void { + this.tokenService.clear(); + this.router.navigateByUrl(this.tokenService.login_url!); + } +} diff --git a/src/app/layout/pro/components/widget/widget.component.html b/src/app/layout/pro/components/widget/widget.component.html new file mode 100644 index 00000000..52de221e --- /dev/null +++ b/src/app/layout/pro/components/widget/widget.component.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/app/layout/pro/components/widget/widget.component.ts b/src/app/layout/pro/components/widget/widget.component.ts new file mode 100644 index 00000000..b054f454 --- /dev/null +++ b/src/app/layout/pro/components/widget/widget.component.ts @@ -0,0 +1,20 @@ +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; + +@Component({ + selector: '[layout-pro-header-widget]', + templateUrl: './widget.component.html', + host: { + '[class.alain-pro__header-right]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProHeaderWidgetComponent { + constructor(private router: Router, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + logout(): void { + this.tokenService.clear(); + this.router.navigateByUrl(this.tokenService.login_url!); + } +} diff --git a/src/app/layout/pro/index.md b/src/app/layout/pro/index.md new file mode 100644 index 00000000..764e496b --- /dev/null +++ b/src/app/layout/pro/index.md @@ -0,0 +1 @@ +[Document](https://e.ng-alain.com/theme/pro) diff --git a/src/app/layout/pro/index.ts b/src/app/layout/pro/index.ts new file mode 100644 index 00000000..77f8ba7f --- /dev/null +++ b/src/app/layout/pro/index.ts @@ -0,0 +1,67 @@ +/* eslint-disable import/order */ +// #region exports + +export * from './pro.types'; +export * from './pro.service'; +export * from './pro.component'; + +// #endregion + +// #region widgets + +import { LayoutProFooterComponent } from './components/footer/footer.component'; +import { LayoutProHeaderComponent } from './components/header/header.component'; +import { LayoutProLogoComponent } from './components/logo/logo.component'; +import { LayoutProMenuComponent } from './components/menu/menu.component'; +import { LayoutProWidgetNotifyComponent } from './components/notify/notify.component'; +import { LayoutProWidgetQuickChatStatusComponent } from './components/quick-chat/quick-chat-status.component'; +import { LayoutProWidgetQuickChatComponent } from './components/quick-chat/quick-chat.component'; +import { LayoutProWidgetQuickComponent } from './components/quick/quick.component'; +import { LayoutProWidgetRTLComponent } from './components/rtl/rtl.component'; +import { LayoutProWidgetSearchComponent } from './components/search/search.component'; +import { LayoutProWidgetUserComponent } from './components/user/user.component'; +import { LayoutProHeaderWidgetComponent } from './components/widget/widget.component'; +import { LayoutProWidgetQuickPanelComponent } from './components/quick/quick-panel.component'; +import { ProSettingDrawerComponent } from './setting-drawer/setting-drawer.component'; + +const PRO_WIDGETS = [ + LayoutProHeaderWidgetComponent, + LayoutProWidgetNotifyComponent, + LayoutProWidgetSearchComponent, + LayoutProWidgetUserComponent, + LayoutProWidgetQuickComponent, + LayoutProWidgetQuickChatComponent, + LayoutProWidgetQuickChatStatusComponent, + LayoutProWidgetRTLComponent +]; + +// #endregion + +// #region entry components + +// #endregion + +// #region components + +import { LayoutProComponent } from './pro.component'; + +export const PRO_COMPONENTS: Array> = [ + LayoutProComponent, + LayoutProMenuComponent, + LayoutProLogoComponent, + LayoutProHeaderComponent, + LayoutProFooterComponent, + LayoutProWidgetQuickPanelComponent, + ProSettingDrawerComponent, + ...PRO_WIDGETS +]; + +// #endregion + +// #region shared components + +import { ProPageModule } from './shared/page'; +import { Type } from '@angular/core'; +export const PRO_SHARED_MODULES = [ProPageModule]; + +// #endregion diff --git a/src/app/layout/pro/pro.component.html b/src/app/layout/pro/pro.component.html new file mode 100644 index 00000000..94c8c60b --- /dev/null +++ b/src/app/layout/pro/pro.component.html @@ -0,0 +1,40 @@ + + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + +
    + + +
    + + +
    +
    +
    + + \ No newline at end of file diff --git a/src/app/layout/pro/pro.component.ts b/src/app/layout/pro/pro.component.ts new file mode 100644 index 00000000..983b2377 --- /dev/null +++ b/src/app/layout/pro/pro.component.ts @@ -0,0 +1,167 @@ +import { BreakpointObserver, MediaMatcher } from '@angular/cdk/layout'; +import { DOCUMENT } from '@angular/common'; +import { + AfterViewInit, + Component, + ComponentFactoryResolver, + Inject, + OnDestroy, + OnInit, + Renderer2, + ViewChild, + ViewContainerRef +} from '@angular/core'; +import { NavigationEnd, NavigationError, RouteConfigLoadStart, Router } from '@angular/router'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { RTL, RTLService } from '@delon/theme'; +import { ScrollService, updateHostClass } from '@delon/util/browser'; +import { environment } from '@env/environment'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from './pro.service'; +import { ProSettingDrawerComponent } from './setting-drawer/setting-drawer.component'; + +@Component({ + selector: 'layout-pro', + templateUrl: './pro.component.html' + // NOTICE: If all pages using OnPush mode, you can turn it on and all `cdr.detectChanges()` codes + // changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProComponent implements OnInit, AfterViewInit, OnDestroy { + private destroy$ = new Subject(); + private queryCls?: string; + @ViewChild('settingHost', { read: ViewContainerRef, static: false }) private settingHost!: ViewContainerRef; + + isFetching = false; + + get isMobile(): boolean { + return this.pro.isMobile; + } + + get getLayoutStyle(): { [key: string]: string } | null { + const { isMobile, fixSiderbar, collapsed, menu, width, widthInCollapsed } = this.pro; + if (fixSiderbar && menu !== 'top' && !isMobile) { + return { + [this.rtl.dir === RTL ? 'paddingRight' : 'paddingLeft']: `${collapsed ? widthInCollapsed : width}px` + }; + } + return null; + } + + get getContentStyle(): { [key: string]: string } { + const { fixedHeader, headerHeight } = this.pro; + return { + margin: '24px 24px 0', + 'padding-top': `${fixedHeader ? headerHeight : 0}px` + }; + } + + private get body(): HTMLElement { + return this.doc.body; + } + + constructor( + bm: BreakpointObserver, + mediaMatcher: MediaMatcher, + router: Router, + msg: NzMessageService, + scroll: ScrollService, + reuseTabSrv: ReuseTabService, + private resolver: ComponentFactoryResolver, + private renderer: Renderer2, + public pro: BrandService, + @Inject(DOCUMENT) private doc: any, + // private cdr: ChangeDetectorRef + private rtl: RTLService + ) { + // scroll to top in change page + router.events.pipe(takeUntil(this.destroy$)).subscribe(evt => { + if (!this.isFetching && evt instanceof RouteConfigLoadStart) { + this.isFetching = true; + scroll.scrollToTop(); + } + if (evt instanceof NavigationError) { + this.isFetching = false; + msg.error(`无法加载${evt.url}路由`, { nzDuration: 1000 * 3 }); + return; + } + if (!(evt instanceof NavigationEnd)) { + return; + } + this.isFetching = false; + // If have already cached router, should be don't need scroll to top + if (!reuseTabSrv.exists(evt.url)) { + scroll.scrollToTop(); + } + }); + + // media + const query: { [key: string]: string } = { + 'screen-xs': '(max-width: 575px)', + 'screen-sm': '(min-width: 576px) and (max-width: 767px)', + 'screen-md': '(min-width: 768px) and (max-width: 991px)', + 'screen-lg': '(min-width: 992px) and (max-width: 1199px)', + 'screen-xl': '(min-width: 1200px)' + }; + bm.observe([ + '(min-width: 1200px)', + '(min-width: 992px) and (max-width: 1199px)', + '(min-width: 768px) and (max-width: 991px)', + '(min-width: 576px) and (max-width: 767px)', + '(max-width: 575px)' + ]).subscribe(() => { + this.queryCls = Object.keys(query).find(key => mediaMatcher.matchMedia(query[key]).matches); + this.setClass(); + }); + } + + private setClass(): void { + const { body, renderer, queryCls, pro } = this; + updateHostClass(body, renderer, { + ['color-weak']: pro.layout.colorWeak, + [`layout-fixed`]: pro.layout.fixed, + [`aside-collapsed`]: pro.collapsed, + ['alain-pro']: true, + [queryCls!]: true, + [`alain-pro__content-${pro.layout.contentWidth}`]: true, + [`alain-pro__fixed`]: pro.layout.fixedHeader, + [`alain-pro__wide`]: pro.isFixed, + [`alain-pro__dark`]: pro.theme === 'dark', + [`alain-pro__light`]: pro.theme === 'light', + [`alain-pro__menu-side`]: pro.isSideMenu, + [`alain-pro__menu-top`]: pro.isTopMenu + }); + } + + ngAfterViewInit(): void { + // Setting componet for only developer + if (!environment.production) { + setTimeout(() => { + const settingFactory = this.resolver.resolveComponentFactory(ProSettingDrawerComponent); + this.settingHost.createComponent(settingFactory); + }, 22); + } + } + + ngOnInit(): void { + const { pro, destroy$ } = this; + pro.notify.pipe(takeUntil(destroy$)).subscribe(() => { + this.setClass(); + }); + } + + ngOnDestroy(): void { + const { destroy$, body, pro } = this; + destroy$.next(); + destroy$.complete(); + body.classList.remove( + `alain-pro__content-${pro.layout.contentWidth}`, + `alain-pro__fixed`, + `alain-pro__wide`, + `alain-pro__dark`, + `alain-pro__light` + ); + } +} diff --git a/src/app/layout/pro/pro.service.ts b/src/app/layout/pro/pro.service.ts new file mode 100644 index 00000000..258dbf4b --- /dev/null +++ b/src/app/layout/pro/pro.service.ts @@ -0,0 +1,139 @@ +import { BreakpointObserver } from '@angular/cdk/layout'; +import { Injectable } from '@angular/core'; +import { Layout, SettingsService } from '@delon/theme'; +import { environment } from '@env/environment'; +import { BehaviorSubject, Observable } from 'rxjs'; + +import { ProLayout, ProLayoutContentWidth, ProLayoutMenu, ProLayoutTheme } from './pro.types'; + +@Injectable({ providedIn: 'root' }) +export class BrandService { + private notify$ = new BehaviorSubject(null); + private _isMobile = false; + + // #region fields + + get notify(): Observable { + return this.notify$.asObservable(); + } + + /** + * Specify width of the sidebar, If you change it, muse be synchronize change less parameter: + * ```less + * @alain-pro-sider-menu-width: 256px; + * ``` + */ + readonly width = 256; + + /** + * Specify width of the sidebar after collapsed, If you change it, muse be synchronize change less parameter: + * ```less + * @menu-collapsed-width: 80px; + * ``` + */ + readonly widthInCollapsed = 80; + + /** + * Specify height of the header, If you change it, muse be synchronize change less parameter: + * ```less + * @alain-pro-header-height: 64px; + * ``` + */ + readonly headerHeight = 64; + + /** + * Specify distance from top for automatically hidden header + */ + readonly autoHideHeaderTop = 300; + + get isMobile(): boolean { + return this._isMobile; + } + + get layout(): ProLayout { + return this.settings.layout as ProLayout; + } + + get collapsed(): boolean { + return this.layout.collapsed; + } + + get theme(): ProLayoutTheme { + return this.layout.theme; + } + + get menu(): ProLayoutMenu { + return this.layout.menu; + } + + get contentWidth(): ProLayoutContentWidth { + return this.layout.contentWidth; + } + + get fixedHeader(): boolean { + return this.layout.fixedHeader; + } + + get autoHideHeader(): boolean { + return this.layout.autoHideHeader; + } + + get fixSiderbar(): boolean { + return this.layout.fixSiderbar; + } + + get onlyIcon(): boolean { + return this.menu === 'side' ? false : this.layout.onlyIcon; + } + + /** Whether the top menu */ + get isTopMenu(): boolean { + return this.menu === 'top' && !this.isMobile; + } + + /** Whether the side menu */ + get isSideMenu(): boolean { + return this.menu === 'side' && !this.isMobile; + } + + /** Whether the fixed content */ + get isFixed(): boolean { + return this.contentWidth === 'fixed'; + } + + // #endregion + + constructor(bm: BreakpointObserver, private settings: SettingsService) { + // fix layout data + settings.setLayout({ + theme: 'dark', + menu: 'side', + contentWidth: 'fluid', + fixedHeader: false, + autoHideHeader: false, + fixSiderbar: false, + onlyIcon: true, + ...(environment as any).pro, + ...settings.layout // Browser cache + }); + + const mobileMedia = 'only screen and (max-width: 767.99px)'; + bm.observe(mobileMedia).subscribe(state => this.checkMedia(state.matches)); + this.checkMedia(bm.isMatched(mobileMedia)); + } + + private checkMedia(value: boolean): void { + this._isMobile = value; + this.layout.collapsed = this._isMobile; + this.notify$.next('mobile'); + } + + setLayout(name: string | Layout, value?: any): void { + this.settings.setLayout(name, value); + this.notify$.next('layout'); + } + + setCollapsed(status?: boolean): void { + this.setLayout('collapsed', typeof status !== 'undefined' ? status : !this.collapsed); + } +} diff --git a/src/app/layout/pro/pro.types.ts b/src/app/layout/pro/pro.types.ts new file mode 100644 index 00000000..446a4e88 --- /dev/null +++ b/src/app/layout/pro/pro.types.ts @@ -0,0 +1,43 @@ +import { Layout, MenuInner } from '@delon/theme'; + +export type ProLayoutTheme = 'light' | 'dark'; +export type ProLayoutMenu = 'side' | 'top'; +export type ProLayoutContentWidth = 'fluid' | 'fixed'; + +export interface ProLayout extends Layout { + theme: ProLayoutTheme; + /** + * menu position + */ + menu: ProLayoutMenu; + /** + * layout of content, only works when menu is top + */ + contentWidth: ProLayoutContentWidth; + /** + * sticky header + */ + fixedHeader: boolean; + /** + * auto hide header + */ + autoHideHeader: boolean; + /** + * sticky siderbar + */ + fixSiderbar: boolean; + /** + * Only icon of menu + * Limited to a temporary solution [#2183](https://github.com/NG-ZORRO/ng-zorro-antd/issues/2183) + */ + onlyIcon: boolean; + /** + * Color weak + */ + colorWeak: boolean; +} + +export interface ProMenu extends MenuInner { + _parent?: ProMenu | null; + children?: ProMenu[]; +} diff --git a/src/app/layout/pro/setting-drawer/setting-drawer.component.html b/src/app/layout/pro/setting-drawer/setting-drawer.component.html new file mode 100644 index 00000000..000f9930 --- /dev/null +++ b/src/app/layout/pro/setting-drawer/setting-drawer.component.html @@ -0,0 +1,83 @@ + +
    +
    +

    整体风格设置

    +
    +
    + {{ t.key }} +
    + +
    +
    +
    +
    +
    +

    主题色

    + + + +
    + +
    +

    导航模式

    +
    +
    + {{ t.key }} +
    + +
    +
    +
    +
    + 内容区域宽度 + + + + +
    +
    + 固定 Header + +
    +
    + 下滑时隐藏 Header + +
    +
    + 固定侧边菜单 + +
    +
    + 只显示图标 + +
    +
    + +
    +

    其他设置

    +
    + 色弱模式 + +
    +
    + + + +
    +
    +
    + +
    \ No newline at end of file diff --git a/src/app/layout/pro/setting-drawer/setting-drawer.component.ts b/src/app/layout/pro/setting-drawer/setting-drawer.component.ts new file mode 100644 index 00000000..7423f040 --- /dev/null +++ b/src/app/layout/pro/setting-drawer/setting-drawer.component.ts @@ -0,0 +1,240 @@ +import { Direction, Directionality } from '@angular/cdk/bidi'; +import { DOCUMENT } from '@angular/common'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, NgZone, OnDestroy, OnInit, Optional } from '@angular/core'; +import { copy, LazyService } from '@delon/util'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../pro.service'; +import { ProLayout } from '../pro.types'; + +@Component({ + selector: 'pro-setting-drawer', + templateUrl: './setting-drawer.component.html', + preserveWhitespaces: false, + host: { + '[class.setting-drawer]': 'true', + '[class.setting-drawer-rtl]': `dir === 'rtl'` + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ProSettingDrawerComponent implements OnInit, OnDestroy { + private loadedLess = false; + private destroy$ = new Subject(); + + get layout(): ProLayout { + return this.brand.layout; + } + + collapse = false; + dir: Direction = 'ltr'; + + themes = [ + { + key: 'dark', + title: '暗色菜单风格', + img: 'https://gw.alipayobjects.com/zos/rmsportal/LCkqqYNmvBEbokSDscrm.svg' + }, + { + key: 'light', + title: '亮色菜单风格', + img: 'https://gw.alipayobjects.com/zos/rmsportal/jpRkZQMyYRryryPNtyIC.svg' + } + ]; + + color = '#2F54EB'; + colors = [ + { + key: '薄暮', + color: '#F5222D' + }, + { + key: '火山', + color: '#FA541C' + }, + { + key: '日暮', + color: '#FAAD14' + }, + { + key: '明青', + color: '#13C2C2' + }, + { + key: '极光绿', + color: '#52C41A' + }, + { + key: '拂晓蓝(默认)', + color: '#1890ff' + }, + { + key: '极客蓝', + color: '#2F54EB' + }, + { + key: '酱紫', + color: '#722ED1' + } + ]; + + menuModes = [ + { + key: 'side', + title: '侧边菜单布局', + img: 'https://gw.alipayobjects.com/zos/rmsportal/JopDzEhOqwOjeNTXkoje.svg' + }, + { + key: 'top', + title: '顶部菜单布局', + img: 'https://gw.alipayobjects.com/zos/rmsportal/KDNDBbriJhLwuqMoxcAr.svg' + } + ]; + + contentWidths = [ + { + key: 'fixed', + title: '定宽', + disabled: false + }, + { + key: 'fluid', + title: '流式', + disabled: false + } + ]; + + constructor( + public brand: BrandService, + private cdr: ChangeDetectorRef, + private msg: NzMessageService, + private lazy: LazyService, + private zone: NgZone, + @Inject(DOCUMENT) private doc: any, + @Optional() private directionality: Directionality + ) { + this.setLayout('menu', this.brand.menu, false); + } + + ngOnInit(): void { + this.dir = this.directionality.value; + this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => { + this.dir = direction; + this.cdr.detectChanges(); + }); + } + + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } + + private loadLess(): Promise { + if (this.loadedLess) { + return Promise.resolve(); + } + return this.lazy + .loadStyle('./assets/color.less', 'stylesheet/less') + .then(() => { + const lessConfigNode = this.doc.createElement('script'); + lessConfigNode.innerHTML = ` + window.less = { + async: true, + env: 'production', + javascriptEnabled: true + }; + `; + this.doc.body.appendChild(lessConfigNode); + }) + .then(() => this.lazy.loadScript('https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js')) + .then(() => { + this.loadedLess = true; + }); + } + + private runLess(): void { + const { color, zone, msg, cdr: cd } = this; + const msgId = msg.loading(`正在编译主题!`, { nzDuration: 0 }).messageId; + setTimeout(() => { + zone.runOutsideAngular(() => { + this.loadLess().then(() => { + (window as any).less + .modifyVars({ + [`@primary-color`]: color + }) + .then(() => { + msg.success('成功'); + msg.remove(msgId); + zone.run(() => cd.detectChanges()); + }); + }); + }); + }, 200); + } + + toggle(): void { + this.collapse = !this.collapse; + } + + changeColor(color: string): void { + this.color = color; + this.runLess(); + } + + setLayout(name: string, value: any, cd: boolean = true): void { + switch (name) { + case 'menu': + const isTop = value === 'top'; + this.contentWidths.find(w => w.key === 'fixed')!.disabled = !isTop; + const newLayout = { + ...this.brand.layout, + contentWidth: isTop ? 'fixed' : 'fluid', + onlyIcon: isTop, + collapsed: isTop && !this.brand.isMobile ? false : this.brand.layout.collapsed + }; + this.brand.setLayout(newLayout); + break; + case 'fixedHeader': + this.brand.setLayout('autoHideHeader', false); + break; + default: + break; + } + this.brand.setLayout(name, value); + if (cd) { + setTimeout(() => { + // Re-render G2 muse be trigger window resize + window.dispatchEvent(new Event('resize')); + this.cdr.markForCheck(); + }); + } + } + + copy(): void { + const { color, layout } = this; + const vars: { [key: string]: string } = { + [`@primary-color`]: color + }; + const colorVars = Object.keys(vars) + .map(key => `${key}: ${vars[key]};`) + .join('\n'); + const layoutVars = Object.keys(layout) + .filter( + key => ~['theme', 'menu', 'contentWidth', 'fixedHeader', 'autoHideHeader', 'fixSiderbar', 'colorWeak', 'onlyIcon'].indexOf(key) + ) + .map(key => { + const value = layout[key]; + if (typeof value === 'boolean') { + return ` ${key}: ${value},`; + } else { + return ` ${key}: '${value}',`; + } + }) + .join('\n'); + copy( + `在 [src/styles/theme.less] 配置以下:\n{{colorVars}}\n\n在 [src/environments/*] 的 pro 配置以下:\nexport const environment = {\n ...\n pro: {\n{{layoutVars}}\n }\n}` + ); + this.msg.success(`拷贝成功,请根据剪切板内容进行替换`); + } +} diff --git a/src/app/layout/pro/shared/page/index.ts b/src/app/layout/pro/shared/page/index.ts new file mode 100644 index 00000000..d2b48060 --- /dev/null +++ b/src/app/layout/pro/shared/page/index.ts @@ -0,0 +1,3 @@ +export * from './page-grid.component'; +export * from './page-header-wrapper.component'; +export * from './page.module'; diff --git a/src/app/layout/pro/shared/page/page-grid.component.html b/src/app/layout/pro/shared/page/page-grid.component.html new file mode 100644 index 00000000..5f69a5e3 --- /dev/null +++ b/src/app/layout/pro/shared/page/page-grid.component.html @@ -0,0 +1,4 @@ + +
    + +
    diff --git a/src/app/layout/pro/shared/page/page-grid.component.ts b/src/app/layout/pro/shared/page/page-grid.component.ts new file mode 100644 index 00000000..e5312719 --- /dev/null +++ b/src/app/layout/pro/shared/page/page-grid.component.ts @@ -0,0 +1,80 @@ +import { + AfterViewInit, + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + ElementRef, + Inject, + Input, + OnDestroy, + Optional, + Renderer2 +} from '@angular/core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { TitleService } from '@delon/theme'; +import { BooleanInput, InputBoolean } from '@delon/util'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; + +@Component({ + selector: 'page-grid', + templateUrl: './page-grid.component.html', + host: { + '[class.alain-pro__page-grid]': 'true', + '[class.alain-pro__page-grid-no-spacing]': 'noSpacing', + '[class.alain-pro__page-grid-wide]': 'isFixed' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ProPageGridComponent implements AfterViewInit, OnDestroy { + static ngAcceptInputType_loading: BooleanInput; + static ngAcceptInputType_noSpacing: BooleanInput; + + private unsubscribe$ = new Subject(); + + @Input() @InputBoolean() loading = false; + @Input() @InputBoolean() noSpacing = false; + @Input() style: NzSafeAny; + @Input() + set title(value: string) { + if (value) { + if (this.titleSrv) { + this.titleSrv.setTitle(value); + } + if (this.reuseSrv) { + this.reuseSrv.title = value; + } + } + } + + get isFixed(): boolean { + return this.pro.isFixed; + } + + constructor( + private el: ElementRef, + private rend: Renderer2, + private pro: BrandService, + @Optional() @Inject(TitleService) private titleSrv: TitleService, + @Optional() @Inject(ReuseTabService) private reuseSrv: ReuseTabService, + private cdr: ChangeDetectorRef + ) {} + + ngAfterViewInit(): void { + if (this.style) { + Object.keys(this.style).forEach((key: string) => { + this.rend.setStyle(this.el.nativeElement, key, this.style[key]); + }); + } + this.pro.notify.pipe(takeUntil(this.unsubscribe$)).subscribe(() => this.cdr.markForCheck()); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/shared/page/page-header-wrapper.component.html b/src/app/layout/pro/shared/page/page-header-wrapper.component.html new file mode 100644 index 00000000..b81e1ab9 --- /dev/null +++ b/src/app/layout/pro/shared/page/page-header-wrapper.component.html @@ -0,0 +1,26 @@ + + + +
    + + + +
    +
    diff --git a/src/app/layout/pro/shared/page/page-header-wrapper.component.ts b/src/app/layout/pro/shared/page/page-header-wrapper.component.ts new file mode 100644 index 00000000..0489ca1f --- /dev/null +++ b/src/app/layout/pro/shared/page/page-header-wrapper.component.ts @@ -0,0 +1,74 @@ +import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, TemplateRef } from '@angular/core'; +import { AlainConfigService, BooleanInput, InputBoolean } from '@delon/util'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; + +@Component({ + selector: 'page-header-wrapper', + templateUrl: './page-header-wrapper.component.html', + host: { + '[class.alain-pro__page-header-wrapper]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ProPageHeaderWrapperComponent implements AfterViewInit, OnDestroy { + static ngAcceptInputType_loading: BooleanInput; + static ngAcceptInputType_autoBreadcrumb: BooleanInput; + static ngAcceptInputType_autoTitle: BooleanInput; + static ngAcceptInputType_syncTitle: BooleanInput; + static ngAcceptInputType_noSpacing: BooleanInput; + + private unsubscribe$ = new Subject(); + + // #region page-header fields + + @Input() title!: string | null | TemplateRef; + @Input() @InputBoolean() loading = false; + @Input() home!: string; + @Input() homeLink!: string; + @Input() homeI18n!: string; + /** + * 自动生成导航,以当前路由从主菜单中定位 + */ + @Input() @InputBoolean() autoBreadcrumb = true; + /** + * 自动生成标题,以当前路由从主菜单中定位 + */ + @Input() @InputBoolean() autoTitle = true; + /** + * 是否自动将标题同步至 `TitleService`、`ReuseService` 下,仅 `title` 为 `string` 类型时有效 + */ + @Input() @InputBoolean() syncTitle = true; + @Input() breadcrumb!: TemplateRef; + @Input() logo!: TemplateRef; + @Input() action!: TemplateRef; + @Input() content!: TemplateRef; + @Input() extra!: TemplateRef; + @Input() tab!: TemplateRef; + @Input() phContent!: TemplateRef; + // #endregion + + // #region fields + + @Input() top!: TemplateRef; + @Input() @InputBoolean() noSpacing = false; + @Input() style?: {}; + + // #endregion + + constructor(public pro: BrandService, cog: AlainConfigService, private cdr: ChangeDetectorRef) { + cog.attach(this, 'pageHeader', { syncTitle: true }); + } + + ngAfterViewInit(): void { + this.pro.notify.pipe(takeUntil(this.unsubscribe$)).subscribe(() => this.cdr.markForCheck()); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/shared/page/page.module.ts b/src/app/layout/pro/shared/page/page.module.ts new file mode 100644 index 00000000..8d712740 --- /dev/null +++ b/src/app/layout/pro/shared/page/page.module.ts @@ -0,0 +1,16 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { PageHeaderModule } from '@delon/abc/page-header'; +import { NzSpinModule } from 'ng-zorro-antd/spin'; + +import { ProPageGridComponent } from './page-grid.component'; +import { ProPageHeaderWrapperComponent } from './page-header-wrapper.component'; + +const COMPONENTS = [ProPageGridComponent, ProPageHeaderWrapperComponent]; + +@NgModule({ + imports: [CommonModule, NzSpinModule, PageHeaderModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class ProPageModule {} diff --git a/src/app/layout/pro/styles/app/_content.less b/src/app/layout/pro/styles/app/_content.less new file mode 100644 index 00000000..00684ab1 --- /dev/null +++ b/src/app/layout/pro/styles/app/_content.less @@ -0,0 +1,58 @@ +@{alain-pro-prefix} { + &__main { + min-height: 100vh; + background-color: @alain-pro-main-bg; + + > .ant-layout-header { + height: @alain-pro-header-height; + line-height: @alain-pro-header-height; + } + + .router-ant(); + } + + &__page { + &-header { + &-wrapper { + position: relative; + display: block; + margin: -@alain-pro-content-margin -@alain-pro-content-margin 0; + } + &-content { + margin: @alain-pro-content-margin @alain-pro-content-margin 0; + } + } + &-grid { + display: block; + width: 100%; + height: 100%; + min-height: 100%; + transition: 0.3s; + &-wide { + max-width: @alain-pro-wide; + margin: 0 auto; + } + &-no-spacing { + width: initial; + margin: -@alain-pro-content-margin -@alain-pro-content-margin 0; + } + } + } +} + +@{alain-pro-prefix}__fetching { + &-icon { + display: none; + } + & { + @{alain-pro-prefix}__fetching-icon { + display: block; + } + } +} + +@media screen and (max-width: @mobile-max) { + @{alain-pro-prefix}__page-header-content { + margin: @alain-pro-content-margin 10px 0; + } +} diff --git a/src/app/layout/pro/styles/app/_footer.less b/src/app/layout/pro/styles/app/_footer.less new file mode 100644 index 00000000..fe2b6742 --- /dev/null +++ b/src/app/layout/pro/styles/app/_footer.less @@ -0,0 +1,3 @@ +@{alain-pro-prefix}__footer { + padding: 0; +} diff --git a/src/app/layout/pro/styles/app/_header.less b/src/app/layout/pro/styles/app/_header.less new file mode 100644 index 00000000..30c81384 --- /dev/null +++ b/src/app/layout/pro/styles/app/_header.less @@ -0,0 +1,104 @@ +@header-prefix: ~'@{alain-pro-prefix}__header'; + +@{header-prefix} { + position: relative; + z-index: 1; + display: flex; + align-items: center; + justify-content: space-between; + height: @alain-pro-header-height; + padding: 0 12px 0 0; + background: @alain-pro-header-bg; + box-shadow: @alain-pro-header-box-shadow; + &-logo { + padding: 0 24px; + } + &-right { + display: flex; + align-items: center; + justify-items: center; + } + &-item { + position: relative; + display: flex; + align-items: center; + justify-items: center; + height: @alain-pro-header-height; + padding: 0 12px; + line-height: @alain-pro-header-height; + cursor: pointer; + transition: all 0.3s; + > i, + &-icon { + // fix dropdown + font-size: @alain-pro-header-widgets-icon-fs !important; + transform: none !important; + } + &, + &-icon { + color: @alain-pro-header-color; + } + &:hover { + background: @alain-pro-header-hover-bg; + &, + @{header-prefix}-item-icon { + color: @alain-pro-header-hover-color; + } + } + } + &-trigger { + padding: 0 24px; + @{header-prefix}-item-icon { + font-size: 20px !important; + } + } + &-search { + &:hover { + background: transparent; + } + } + &-fixed { + position: fixed; + top: 0; + right: 0; + z-index: 9; + width: 100%; + transition: width 0.2s; + } + &-hide { + opacity: 0; + transition: opacity 0.2s; + } +} + +@media only screen and (max-width: @mobile-max) { + @{header-prefix} { + &-name { + display: none; + } + &-trigger { + padding: 0 12px; + } + &-logo { + position: relative; + padding-right: 12px; + padding-left: 12px; + } + } +} + +layout-pro-header { + z-index: 1; +} + +.layout-pro-header-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{header-prefix} { + &-fixed { + right: inherit; + left: 0; + } + } + } +} +.layout-pro-header-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/app/_menu.less b/src/app/layout/pro/styles/app/_menu.less new file mode 100644 index 00000000..4f548617 --- /dev/null +++ b/src/app/layout/pro/styles/app/_menu.less @@ -0,0 +1,68 @@ +@{alain-pro-prefix} { + &__menu { + display: block; + &-item { + &--disabled { + pointer-events: none; + } + } + &-only-icon { + @{alain-pro-prefix}__menu-item { + padding-right: 8px !important; + padding-left: 8px !important; + &:first-child { + padding-left: 0; + } + } + @{alain-pro-prefix}__menu-icon { + margin-right: 0; + font-size: @alain-pro-top-nav-only-icon-fs; + } + } + &-title { + position: relative; + &-badge { + display: flex; + justify-content: center; + width: 18px; + height: 18px; + padding: 0; + font-size: 12px; + line-height: 18px; + background: @alain-pro-header-title-badge-bg; + border-radius: 50%; + > em { + color: @alain-pro-header-title-badge-color; + font-style: normal; + } + } + } + &-img { + width: @alain-pro-sider-menu-img-wh !important; + height: @alain-pro-sider-menu-img-wh !important; + } + } + &__side-nav { + @{alain-pro-prefix}__menu { + &-title { + display: flex; + align-items: center; + &-text { + flex: 1; + } + } + } + .@{ant-prefix}-menu-inline-collapsed { + @{alain-pro-prefix}__menu-title-badge { + position: absolute; + top: 0; + right: -16px; + width: 8px; + height: 8px; + > em { + display: none; + } + } + } + } +} diff --git a/src/app/layout/pro/styles/app/_sider.less b/src/app/layout/pro/styles/app/_sider.less new file mode 100644 index 00000000..4353cc66 --- /dev/null +++ b/src/app/layout/pro/styles/app/_sider.less @@ -0,0 +1,148 @@ +@sider-prefix: ~'@{alain-pro-prefix}__sider'; + +@{sider-prefix} { + position: relative; + z-index: 10; + display: block; + min-height: 100vh; + overflow: hidden; + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + &-logo { + position: relative; + display: block; + height: @alain-pro-header-height; + padding-left: ((@menu-collapsed-width - 32px) / 2); + overflow: hidden; + line-height: @alain-pro-header-height; + background: @alain-pro-header-logo-bg; + transition: all 0.3s; + img { + display: inline-block; + height: 32px; + vertical-align: middle; + } + h1 { + display: inline-block; + margin: 0 0 0 12px; + color: white; + font-weight: 600; + font-size: @alain-pro-logo-font-size; + font-family: @alain-pro-logo-font-family; + vertical-align: middle; + transition: all 0.3s; + } + } + &-fixed { + position: fixed; + top: 0; + left: 0; + @{alain-pro-prefix}__side-nav-wrap { + height: ~'calc(100vh - @{alain-pro-header-height})'; + padding-bottom: 24px; + overflow-y: scroll; + } + } +} + +// 小屏幕 drawer 配置信息 +@{alain-pro-prefix}__drawer { + .@{ant-prefix}-drawer { + &-wrapper-body { + height: 100%; + overflow: auto; + } + &-body { + height: 100vh; + padding: 0; + overflow-x: hidden; + } + } +} + +// 当缩进时隐藏站点名称 +@{aside-collapsed-prefix} { + @{sider-prefix}-logo { + display: flex; + justify-content: center; + padding: 0; + h1 { + display: none; + } + } +} + +@{alain-pro-prefix}__light { + @{sider-prefix} { + background-color: @alain-pro-light-color; + box-shadow: @alain-pro-light-slider-shadow; + &-logo { + background: @alain-pro-light-color; + box-shadow: 1px 1px 0 0 @border-color-split; + h1 { + color: @primary-color; + } + } + .@{ant-prefix}-menu-light { + border-right-color: transparent; + } + } +} + +.alain-pro-sider-fixed-scroll-mixin(@mode) when(@mode='show') { + .scrollbar-mixin(~'@{ider-prefix}-fixed @{alain-pro-prefix}__side-nav-wrap'); +} + +.alain-pro-sider-fixed-scroll-mixin(@mode) when(@mode='hide') { + @{sider-prefix}-fixed @{alain-pro-prefix}__side-nav-wrap { + -webkit-overflow-scrolling: touch; + // IE + -ms-scroll-chaining: chained; + -ms-content-zooming: zoom; + -ms-scroll-rails: none; + -ms-content-zoom-limit-min: 100%; + -ms-content-zoom-limit-max: 500%; + -ms-scroll-snap-type: proximity; + -ms-scroll-snap-points-x: snaplist(100%, 200%, 300%, 400%, 500%); + -ms-overflow-style: none; + // Firefox + scrollbar-width: none; + // Chrome + &::-webkit-scrollbar { + width: @alain-pro-sider-scrollbar-height; + height: @alain-pro-sider-scrollbar-width; + } + &::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 @alain-pro-sider-scrollbar-width @alain-pro-sider-scrollbar-track-color; + } + &::-webkit-scrollbar-thumb { + background-color: @alain-pro-sider-scrollbar-thumb-color; + } + } +} + +.alain-pro-sider-fixed-scroll-mixin(@alain-pro-sider-fixed-scroll-mode); + +.layout-pro-sider-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{sider-prefix} { + &-logo { + padding-right: ((@menu-collapsed-width - 32px) / 2); + padding-left: 0; + h1 { + margin-right: 12px; + margin-left: 0; + } + } + &-fixed { + right: 0; + left: inherit; + } + } + @{aside-collapsed-prefix} { + @{sider-prefix}-logo { + padding: 0; + } + } + } +} +.layout-pro-sider-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/app/_top-nav.less b/src/app/layout/pro/styles/app/_top-nav.less new file mode 100644 index 00000000..bf2147b8 --- /dev/null +++ b/src/app/layout/pro/styles/app/_top-nav.less @@ -0,0 +1,101 @@ +@top-nav-prefix: ~'@{alain-pro-prefix}__top-nav'; + +@{top-nav-prefix} { + position: relative; + width: 100%; + height: @alain-pro-header-height; + padding: 0 12px 0 0; + box-shadow: @alain-pro-header-box-shadow; + transition: background 0.3s, width 0.2s; + @{alain-pro-prefix}__menu { + .@{ant-prefix}-menu { + display: flex; + align-items: center; + height: @alain-pro-header-height; + border: none; + } + &-wrap { + flex: 1; + padding-right: 8px; + } + &-item { + height: 100%; + .@{ant-prefix}-menu-submenu-title { + height: 100%; + padding: 0 12px; + } + } + } + &-main { + display: flex; + height: @alain-pro-header-height; + padding-left: 24px; + &-wide { + max-width: @alain-pro-wide; + margin: auto; + padding-left: 4px; + } + &-left { + display: flex; + flex: 1; + } + } + &-logo { + width: 165px; + h1 { + margin: 0 0 0 12px; + color: #fff; + font-size: 16px; + } + } + @{alain-pro-prefix}__menu-title-badge { + position: absolute; + top: -16px; + right: -16px; + } +} + +@{alain-pro-prefix} { + &__dark { + @{top-nav-prefix} { + @{alain-pro-prefix}__header-item { + &, + &-icon { + color: @menu-dark-color; + } + &:hover, + .@{ant-prefix}-popover-open { + background: @menu-dark-item-active-bg; + @{alain-pro-prefix}__header-item { + &, + &-icon { + color: @menu-dark-highlight-color; + } + } + } + } + } + } + &__light { + @{top-nav-prefix} { + background-color: #fff; + h1 { + color: #002140; + } + } + } +} + +.layout-pro-top-nav-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{top-nav-prefix} { + &-logo { + h1 { + margin-right: 12px; + margin-left: 0; + } + } + } + } +} +.layout-pro-top-nav-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/app/fix/_antd.less b/src/app/layout/pro/styles/app/fix/_antd.less new file mode 100644 index 00000000..42f15507 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_antd.less @@ -0,0 +1,6 @@ +@layout-body-background: #f8f8f8; + +// Remoed card transition +.@{ant-prefix}-card { + transition: none; +} diff --git a/src/app/layout/pro/styles/app/fix/_btn.less b/src/app/layout/pro/styles/app/fix/_btn.less new file mode 100644 index 00000000..e8747b94 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_btn.less @@ -0,0 +1,5 @@ +.btn-flat { + background: transparent !important; + border-color: transparent !important; + box-shadow: none !important; +} diff --git a/src/app/layout/pro/styles/app/fix/_delon.less b/src/app/layout/pro/styles/app/fix/_delon.less new file mode 100644 index 00000000..46632446 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_delon.less @@ -0,0 +1,55 @@ +@{header-prefix}-item { + .@{ant-prefix}-badge-count { + position: absolute; + top: 24px; + right: 12px; + } +} + +// full-content component +@{full-content-prefix} { + &__opened { + layout-pro-header, + @{alain-pro-prefix}__sider, + reuse-tab { + display: none !important; + } + } + &__hidden-title { + page-header { + display: none !important; + } + } +} + +// footer-toolbar component +@{footer-toolbar-prefix} { + z-index: 99; + width: auto; + &__body { + @{alain-pro-prefix}__body { + margin-bottom: @layout-gutter + @footer-toolbar-height !important; + } + } +} +@{alain-pro-prefix}__menu-side { + @{footer-toolbar-prefix} { + left: @alain-pro-sider-menu-width; + } +} +@{alain-pro-prefix}__menu-top { + @{footer-toolbar-prefix} { + left: 0; + } +} + +@{aside-collapsed-prefix} { + @{footer-toolbar-prefix} { + left: @menu-collapsed-width; + } +} + +@{page-header-prefix} { + padding-right: @alain-pro-content-margin; + padding-left: @alain-pro-content-margin; +} diff --git a/src/app/layout/pro/styles/app/fix/_menu.less b/src/app/layout/pro/styles/app/fix/_menu.less new file mode 100644 index 00000000..84765e75 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_menu.less @@ -0,0 +1,3 @@ +.@{ant-prefix}-dropdown-menu-item { + outline: none; +} diff --git a/src/app/layout/pro/styles/app/fix/_print.less b/src/app/layout/pro/styles/app/fix/_print.less new file mode 100644 index 00000000..4811f8df --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_print.less @@ -0,0 +1,3 @@ +@page { + size: a3; +} diff --git a/src/app/layout/pro/styles/app/fix/index.less b/src/app/layout/pro/styles/app/fix/index.less new file mode 100644 index 00000000..8af7a2a5 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/index.less @@ -0,0 +1,8 @@ +@import './_antd.less'; +@import './_delon.less'; + +// components +@import './_btn.less'; +@import './_menu.less'; + +@import './_print.less'; diff --git a/src/app/layout/pro/styles/app/index.less b/src/app/layout/pro/styles/app/index.less new file mode 100644 index 00000000..d2066f55 --- /dev/null +++ b/src/app/layout/pro/styles/app/index.less @@ -0,0 +1,8 @@ +@import './_menu.less'; +@import './_content.less'; +@import './_header.less'; +@import './_top-nav.less'; +@import './_sider.less'; +@import './_footer.less'; + +@import './fix/index.less'; diff --git a/src/app/layout/pro/styles/index.less b/src/app/layout/pro/styles/index.less new file mode 100644 index 00000000..8d5eaa97 --- /dev/null +++ b/src/app/layout/pro/styles/index.less @@ -0,0 +1,4 @@ +@import './theme-default.less'; + +@import './app/index.less'; +@import './widgets/index.less'; diff --git a/src/app/layout/pro/styles/theme-compact.less b/src/app/layout/pro/styles/theme-compact.less new file mode 100644 index 00000000..72fb7993 --- /dev/null +++ b/src/app/layout/pro/styles/theme-compact.less @@ -0,0 +1,5 @@ +@import '~@delon/theme/theme-compact.less'; +@import './theme-default.less'; + +@alain-pro-header-height: 56px; +@alain-pro-header-widgets-icon-fs: 14px; diff --git a/src/app/layout/pro/styles/theme-dark.less b/src/app/layout/pro/styles/theme-dark.less new file mode 100644 index 00000000..54645892 --- /dev/null +++ b/src/app/layout/pro/styles/theme-dark.less @@ -0,0 +1,9 @@ +@import '~@delon/theme/theme-dark.less'; +@import './theme-default.less'; + +@alain-pro-header-bg: @component-background; +@alain-pro-header-logo-bg: @popover-background; +@alain-pro-header-box-shadow: @shadow-1-down; // 0 1px 4px rgba(0, 21, 41, 0.08); +@alain-pro-header-color: @text-color; +@alain-pro-header-hover-color: #fff; +@alain-pro-header-hover-bg: rgba(0, 0, 0, 0.025); diff --git a/src/app/layout/pro/styles/theme-default.less b/src/app/layout/pro/styles/theme-default.less new file mode 100644 index 00000000..38d3e54f --- /dev/null +++ b/src/app/layout/pro/styles/theme-default.less @@ -0,0 +1,53 @@ +@import '~@delon/theme/theme-default.less'; + +// Optimization for NG-ALAIN theme system +// 针对 NG-ALAIN 主题系统的优化 +@badge-enabled: false; + +// PRO +@alain-pro-prefix: ~'.alain-pro'; +@aside-collapsed-prefix: ~'.aside-collapsed'; +@alain-pro-zindex: @zindex-base; +@alain-pro-ease: cubic-bezier(0.25, 0, 0.15, 1); + +@alain-pro-header-height: 64px; +@alain-pro-header-bg: #fff; +@alain-pro-header-logo-bg: #002140; +@alain-pro-header-box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); +@alain-pro-header-color: rgba(0, 0, 0, 0.65); +@alain-pro-header-hover-color: #000; +@alain-pro-header-hover-bg: rgba(0, 0, 0, 0.025); +@alain-pro-header-search-width: 210px; +@alain-pro-header-widgets-icon-fs: 16px; +@alain-pro-header-title-badge-bg: @primary-color; +@alain-pro-header-title-badge-color: #fff; + +@alain-pro-main-bg: @layout-body-background; + +@alain-pro-top-nav-only-icon-fs: 16px; + +@alain-pro-light-color: #fff; +@alain-pro-light-slider-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05); + +@alain-pro-logo-font-size: 20px; +@alain-pro-logo-font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif; + +@alain-pro-content-margin: 24px; +@alain-pro-wide: 1200px; + +@alain-pro-sider-menu-width: 256px; +@alain-pro-sider-menu-img-wh: 14px; + +/** + * 侧边栏固定时滚动条显示风格: + * - hide: 隐藏滚动条(默认) + * - show: 显示美化后滚动条 + */ +@alain-pro-sider-fixed-scroll-mode: 'hide'; +@alain-pro-sider-scrollbar-width: 0; +@alain-pro-sider-scrollbar-height: 0; +@alain-pro-sider-scrollbar-track-color: transparent; +@alain-pro-sider-scrollbar-thumb-color: transparent; + +@brand-bordered-color: rgba(24, 28, 33, 0.06); +@brand-scroll-width: 20px; diff --git a/src/app/layout/pro/styles/widgets/_bordered.less b/src/app/layout/pro/styles/widgets/_bordered.less new file mode 100644 index 00000000..713b91a9 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_bordered.less @@ -0,0 +1,34 @@ +.brand { + // 让 `nz-row` & `nz-col` 包含有边框效果 + &-bordered { + overflow: hidden; + border: 1px solid @brand-bordered-color; + + > [class*='ant-col-']::before, + > [class*='ant-col-']::after { + position: absolute; + display: block; + content: ''; + } + + > [class*='ant-col-']::before { + right: 0; + bottom: -1px; + left: 0; + height: 0; + border-top: 1px solid @brand-bordered-color; + } + + > [class*='ant-col-']::after { + top: 0; + bottom: 0; + left: -1px; + width: 0; + border-left: 1px solid @brand-bordered-color; + } + } + // 边框大小为 `2px` + &-border-width-2 { + border-width: 2px !important; + } +} diff --git a/src/app/layout/pro/styles/widgets/_brand.less b/src/app/layout/pro/styles/widgets/_brand.less new file mode 100644 index 00000000..e929e50a --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_brand.less @@ -0,0 +1,27 @@ +.brand { + // 加载容器 + &-page-loading { + position: absolute; + top: 0; + right: 0; + left: 0; + min-height: 200px; + } + // `position: absolute` 定位到右上角 + &-top-right { + position: absolute; + top: 8px; + right: 8px; + } + // `position: absolute` 定位到左上角 + &-top-left { + position: absolute; + top: 8px; + left: 8px; + } + // `nz-range-picker` 日期宽度 + &-range-picker__date { + display: inline-block; + width: 240px; + } +} diff --git a/src/app/layout/pro/styles/widgets/_collapse.less b/src/app/layout/pro/styles/widgets/_collapse.less new file mode 100644 index 00000000..de07b113 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_collapse.less @@ -0,0 +1,13 @@ +.brand { + // 将 `nz-ollapse` 的 arrow 图标转化为右边 + &-collapse-arrow-reverse { + .@{ant-prefix}-collapse > .@{ant-prefix}-collapse-item > .@{ant-prefix}-collapse-header { + padding-right: 40px; + padding-left: 12px; + .arrow { + right: 16px; + left: unset; + } + } + } +} diff --git a/src/app/layout/pro/styles/widgets/_search.less b/src/app/layout/pro/styles/widgets/_search.less new file mode 100644 index 00000000..4014b5e5 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_search.less @@ -0,0 +1,51 @@ +@header-search-prefix: ~'@{alain-pro-prefix}__header-search'; + +@{header-search-prefix} { + display: flex; + .anticon-search { + font-size: 16px; + cursor: pointer; + } + &-input { + width: 0; + overflow: hidden; + background: transparent; + border-radius: 0; + transition: width 0.3s, margin-left 0.3s; + .@{ant-prefix}-select-selection { + background: transparent; + } + input { + padding-right: 0; + padding-left: 0; + background: transparent; + border: 0; + outline: none; + box-shadow: none; + } + &, + &:hover, + &:focus { + border-bottom: 1px solid @border-color-base; + } + } + &-show { + &:hover { + background: none !important; + } + @{header-search-prefix}-input { + width: @alain-pro-header-search-width; + margin-left: 8px; + } + } +} + +@{alain-pro-prefix}__dark { + @{alain-pro-prefix}__top-nav { + @{header-search-prefix}-show { + .@{ant-prefix}-input { + color: #fff; + } + } + } +} diff --git a/src/app/layout/pro/styles/widgets/_setting-drawer.less b/src/app/layout/pro/styles/widgets/_setting-drawer.less new file mode 100644 index 00000000..17f763c7 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_setting-drawer.less @@ -0,0 +1,53 @@ +@{setting-drawer-prefix} { + &__handle-opened { + right: 300px !important; + } + + &__blockChecbox { + display: flex; + &-item { + position: relative; + margin-right: 16px; + // box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); + border-radius: @border-radius-base; + cursor: pointer; + img { + width: 48px; + } + } + &-selectIcon { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + padding-top: 15px; + padding-left: 24px; + color: @primary-color; + font-weight: bold; + font-size: 14px; + } + } + + &__handle { + top: 114px; + width: 32px; + height: 32px; + background: rgba(0, 0, 0, 0.38); + &-icon { + font-size: 16px; + } + } +} + +.layout-pro-setting-drawer-rtl-mixin(@enabled) when(@enabled=true) { + @{setting-drawer-prefix}-rtl { + @{setting-drawer-prefix} { + &__handle-opened { + right: inherit !important; + left: 300px !important; + } + } + } +} +.layout-pro-setting-drawer-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/widgets/index.less b/src/app/layout/pro/styles/widgets/index.less new file mode 100644 index 00000000..e23af717 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/index.less @@ -0,0 +1,7 @@ +// For pro brand style +@import './_brand.less'; + +@import './_setting-drawer.less'; +@import './_search.less'; +@import './_bordered.less'; +@import './_collapse.less'; diff --git a/src/app/layout/pro/test/components/menu.component.spec.ts b/src/app/layout/pro/test/components/menu.component.spec.ts new file mode 100644 index 00000000..edf966a4 --- /dev/null +++ b/src/app/layout/pro/test/components/menu.component.spec.ts @@ -0,0 +1,89 @@ +import { Component, DebugElement, ViewChild } from '@angular/core'; +import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { createTestContext } from '@delon/testing'; +import { AlainThemeModule, Menu, MenuService } from '@delon/theme'; + +import { LayoutModule } from '../../../layout.module'; +import { LayoutProMenuComponent } from '../../components/menu/menu.component'; +import { BrandService } from '../../pro.service'; + +describe('pro: layout-pro-menu', () => { + let fixture: ComponentFixture; + let dl: DebugElement; + let context: TestComponent; + let srv: BrandService; + let menuSrv: MenuService; + let page: PageObject; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule, RouterTestingModule.withRoutes([]), AlainThemeModule.forRoot(), LayoutModule], + declarations: [TestComponent] + }); + ({ fixture, dl, context } = createTestContext(TestComponent)); + srv = TestBed.inject(BrandService); + menuSrv = TestBed.inject(MenuService); + page = new PageObject(); + }); + + describe('#menu', () => { + it('should be ingored category menus', () => { + page.appendMenu([{ text: '1', children: [{ text: '1-1' }, { text: '1-2' }] }]).checkCount(2); + }); + + it('should be ingored menu item when _hidden is true', () => { + page.appendMenu([{ text: '1', children: [{ text: '1-1', hide: true }, { text: '1-2' }] }]).checkCount(1); + }); + + it('should be navigate router', fakeAsync(() => { + const router = TestBed.inject(Router); + spyOn(router, 'navigateByUrl'); + page.appendMenu([{ text: '1', children: [{ text: '1-1', link: '/' }] }]); + page.click(); + tick(100); + fixture.detectChanges(); + expect(router.navigateByUrl).toHaveBeenCalled(); + })); + + it('should be auto closed collapse when router changed of mobile', fakeAsync(() => { + spyOnProperty(srv, 'isMobile').and.returnValue(true); + const setCollapsedSpy = spyOn(srv, 'setCollapsed'); + page.appendMenu([{ text: '1', children: [{ text: '1-1', link: '/' }] }]).click(); + tick(100); + fixture.detectChanges(); + expect(setCollapsedSpy).toHaveBeenCalled(); + expect(setCollapsedSpy.calls.mostRecent().args[0]).toBe(true); + })); + }); + + class PageObject { + appendMenu(menus: Menu[]): this { + menuSrv.add(menus); + fixture.detectChanges(); + return this; + } + checkCount(count: number = 0): this { + expect(context.comp.menus!.length).toBe(count); + return this; + } + click(pos: number = 0): this { + const el = document.querySelectorAll('.alain-pro__menu-item')[pos] as HTMLElement; + el.querySelector('a')!.click(); + fixture.detectChanges(); + return this; + } + whenStable(): Promise { + return fixture.whenStable(); + } + } +}); + +@Component({ + template: `
    ` +}) +class TestComponent { + @ViewChild(LayoutProMenuComponent, { static: true }) comp!: LayoutProMenuComponent; +} diff --git a/src/app/layout/pro/test/pro.component.spec.ts b/src/app/layout/pro/test/pro.component.spec.ts new file mode 100644 index 00000000..4fc9dad9 --- /dev/null +++ b/src/app/layout/pro/test/pro.component.spec.ts @@ -0,0 +1,111 @@ +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { Component, DebugElement, ViewChild } from '@angular/core'; +import { ComponentFixture, TestBed, TestBedStatic } from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { createTestContext } from '@delon/testing'; +import { AlainThemeModule } from '@delon/theme'; + +import { LayoutModule } from '../../layout.module'; +import { LayoutProComponent } from '../pro.component'; +import { BrandService } from '../pro.service'; + +describe('pro: layout-pro', () => { + let injector: TestBedStatic; + let fixture: ComponentFixture; + let dl: DebugElement; + let context: TestComponent; + let srv: BrandService; + let page: PageObject; + + beforeEach(() => { + injector = TestBed.configureTestingModule({ + imports: [ + HttpClientTestingModule, + NoopAnimationsModule, + RouterTestingModule.withRoutes([]), + AlainThemeModule.forRoot(), + LayoutModule + ], + declarations: [TestComponent] + }); + }); + + beforeEach(() => { + ({ fixture, dl, context } = createTestContext(TestComponent)); + srv = injector.inject(BrandService); + page = new PageObject(); + }); + + describe('should set the body style', () => { + it('when inited', () => { + srv.setCollapsed(true); + srv.setLayout('theme', 'dark'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__dark').checkBodyClass('aside-collapsed'); + }); + it('when destroy', () => { + srv.setCollapsed(true); + srv.setLayout('theme', 'dark'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__dark').checkBodyClass('aside-collapsed'); + context.comp.ngOnDestroy(); + page.checkBodyClass('alain-pro__dark', false); + }); + it('when layout changed', () => { + srv.setLayout('contentWidth', 'fixed'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__wide'); + srv.setLayout('contentWidth', 'fluid'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__wide', false); + }); + }); + + describe('#layout', () => { + it('should be hide slider when screen is mobile', () => { + const siderCls = '.alain-pro__sider'; + const isMobile = spyOnProperty(srv, 'isMobile', 'get'); + // Show sider when not mobile + isMobile.and.returnValue(false); + srv.setCollapsed(true); + fixture.detectChanges(); + fixture + .whenStable() + .then(() => { + page.checkCls(siderCls, true); + // Hide sider when is mobile + isMobile.and.returnValue(true); + srv.setCollapsed(true); + fixture.detectChanges(); + return fixture.whenStable(); + }) + .then(() => { + page.checkCls(siderCls, false); + }); + }); + }); + + class PageObject { + checkBodyClass(cls: string, status: boolean = true): this { + expect(document.body.classList.contains(cls)).toBe(status); + return this; + } + checkCls(cls: string, status: boolean = true): this { + const nodes = document.querySelectorAll(cls); + if (status) { + expect(nodes.length).toBe(1); + } else { + expect(nodes.length).toBe(0); + } + return this; + } + } +}); + +@Component({ + template: ` ` +}) +class TestComponent { + @ViewChild('comp', { static: true }) comp!: LayoutProComponent; +} diff --git a/src/app/layout/pro/test/pro.service.spec.ts b/src/app/layout/pro/test/pro.service.spec.ts new file mode 100644 index 00000000..7655f503 --- /dev/null +++ b/src/app/layout/pro/test/pro.service.spec.ts @@ -0,0 +1,81 @@ +import { TestBed, TestBedStatic } from '@angular/core/testing'; +import { AlainThemeModule } from '@delon/theme'; +import { environment } from '@env/environment'; +import { filter } from 'rxjs/operators'; + +import { BrandService } from '../pro.service'; + +describe('pro: BrandService', () => { + let injector: TestBedStatic; + let srv: BrandService; + + beforeEach(() => { + injector = TestBed.configureTestingModule({ + imports: [AlainThemeModule.forRoot()], + providers: [BrandService] + }); + }); + + afterEach(() => ((environment as any).pro = null)); + + describe('should be initialized configuration', () => { + it('with default', () => { + (environment as any).pro = null; + spyOn(localStorage, 'getItem').and.returnValue(`null`); + srv = injector.get(BrandService); + expect(srv.theme).toBe('dark'); + expect(srv.menu).toBe('side'); + expect(srv.contentWidth).toBe('fluid'); + }); + it('with environment', () => { + (environment as any).pro = { theme: 'light' }; + spyOn(localStorage, 'getItem').and.returnValue(`null`); + srv = injector.get(BrandService); + expect(srv.theme).toBe('light'); + }); + it('with settings', () => { + (environment as any).pro = null; + spyOn(localStorage, 'getItem').and.returnValue(JSON.stringify({ theme: 'light', menu: 'top' })); + srv = injector.get(BrandService); + expect(srv.theme).toBe('light'); + expect(srv.menu).toBe('top'); + }); + }); + + describe('should be trigger notify', () => { + beforeEach(() => (srv = injector.get(BrandService))); + + it('when mobile changed in constructor', done => { + srv.notify.pipe(filter(v => v != null && v === 'mobile')).subscribe(type => { + expect(true).toBe(true); + done(); + }); + }); + it('when layout changed', done => { + srv.notify.pipe(filter(v => v != null && v === 'layout')).subscribe(type => { + expect(true).toBe(true); + done(); + }); + srv.setLayout('a', 1); + }); + }); + + it('#setCollapsed', () => { + srv = injector.get(BrandService); + srv.setCollapsed(false); + expect(srv.collapsed).toBe(false); + srv.setCollapsed(); + expect(srv.collapsed).toBe(true); + srv.setCollapsed(); + expect(srv.collapsed).toBe(false); + }); + + it('should be onlyIcon always be false when menu is side', () => { + srv = injector.get(BrandService); + srv.setLayout('menu', 'top'); + srv.setLayout('onlyIcon', true); + expect(srv.onlyIcon).toBe(true); + srv.setLayout('menu', 'side'); + expect(srv.onlyIcon).toBe(false); + }); +}); diff --git a/src/app/routes/dashboard/dashboard.component.html b/src/app/routes/dashboard/dashboard.component.html new file mode 100644 index 00000000..b8904171 --- /dev/null +++ b/src/app/routes/dashboard/dashboard.component.html @@ -0,0 +1,109 @@ + + +
    +
    +
    + + 规则编号 + + + + +
    +
    + + 使用状态 + + + + + + +
    +
    + + 调用次数 + + + + +
    +
    + + 更新日期 + + + + +
    +
    + + 使用状态 + + + + + + +
    +
    + + 使用状态 + + + + + + +
    + +
    +
    + + + + + +
      +
    • 删除
    • +
    • 批量审批
    • +
    +
    +
    +
    + + + 已选择 + {{ selectedRows.length }} 项   服务调用总计 {{ totalCallNo + }} 万 + 清空 + + +
    + + + + + +
    + + + 描述 + + + + + \ No newline at end of file diff --git a/src/app/routes/dashboard/dashboard.component.less b/src/app/routes/dashboard/dashboard.component.less new file mode 100644 index 00000000..dcb4cf4f --- /dev/null +++ b/src/app/routes/dashboard/dashboard.component.less @@ -0,0 +1,6 @@ +@import '~@delon/theme/index'; + +:host { + ::ng-deep { + } +} diff --git a/src/app/routes/dashboard/dashboard.component.ts b/src/app/routes/dashboard/dashboard.component.ts new file mode 100644 index 00000000..35a69bcf --- /dev/null +++ b/src/app/routes/dashboard/dashboard.component.ts @@ -0,0 +1,166 @@ +import { Component, ChangeDetectionStrategy, ChangeDetectorRef, TemplateRef, ViewChild } from '@angular/core'; +import { STComponent, STColumn, STData, STChange } from '@delon/abc/st'; +import { _HttpClient } from '@delon/theme'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { map, tap } from 'rxjs/operators'; + +@Component({ + selector: 'app-dashboard', + templateUrl: './dashboard.component.html', + styleUrls: ['./dashboard.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class DashboardComponent { + q: { + pi: number; + ps: number; + no: string; + sorter: string; + status: number | null; + statusList: NzSafeAny[]; + } = { + pi: 1, + ps: 10, + no: '', + sorter: '', + status: null, + statusList: [] + }; + data: any[] = []; + loading = false; + status = [ + { index: 0, text: '关闭', value: false, type: 'default', checked: false }, + { + index: 1, + text: '运行中', + value: false, + type: 'processing', + checked: false + }, + { index: 2, text: '已上线', value: false, type: 'success', checked: false }, + { index: 3, text: '异常', value: false, type: 'error', checked: false } + ]; + @ViewChild('st', { static: true }) + st!: STComponent; + columns: STColumn[] = [ + { title: '', index: 'key', type: 'checkbox' }, + { title: '规则编号', index: 'no' }, + { title: '描述', index: 'description' }, + { + title: '服务调用次数', + index: 'callNo', + type: 'number', + format: item => `${item.callNo} 万`, + sort: { + compare: (a, b) => a.callNo - b.callNo + } + }, + { + title: '状态', + index: 'status', + render: 'status', + filter: { + menus: this.status, + fn: (filter, record) => record.status === filter.index + } + }, + { + title: '更新时间', + index: 'updatedAt', + type: 'date', + sort: { + compare: (a, b) => a.updatedAt - b.updatedAt + } + }, + { + title: '操作', + buttons: [ + { + text: '配置', + click: item => this.msg.success(`配置${item.no}`) + }, + { + text: '订阅警报', + click: item => this.msg.success(`订阅警报${item.no}`) + } + ] + } + ]; + selectedRows: STData[] = []; + description = ''; + totalCallNo = 0; + expandForm = false; + + constructor(private http: _HttpClient, public msg: NzMessageService, private modalSrv: NzModalService, private cdr: ChangeDetectorRef) {} + + ngOnInit(): void { + this.getData(); + } + + getData(): void { + this.loading = true; + this.q.statusList = this.status.filter(w => w.checked).map(item => item.index); + if (this.q.status !== null && this.q.status > -1) { + this.q.statusList.push(this.q.status); + } + this.http + .get('/rule?_allow_anonymous=true', this.q) + .pipe( + map((list: Array<{ status: number; statusText: string; statusType: string }>) => + list.map(i => { + const statusItem = this.status[i.status]; + i.statusText = statusItem.text; + i.statusType = statusItem.type; + return i; + }) + ), + tap(() => (this.loading = false)) + ) + .subscribe(res => { + this.data = res; + this.cdr.detectChanges(); + }); + } + + stChange(e: STChange): void { + switch (e.type) { + case 'checkbox': + this.selectedRows = e.checkbox!; + this.totalCallNo = this.selectedRows.reduce((total, cv) => total + cv.callNo, 0); + this.cdr.detectChanges(); + break; + case 'filter': + this.getData(); + break; + } + } + + remove(): void { + this.http.delete('/rule', { nos: this.selectedRows.map(i => i.no).join(',') }).subscribe(() => { + this.getData(); + this.st.clearCheck(); + }); + } + + approval(): void { + this.msg.success(`审批了 ${this.selectedRows.length} 笔`); + } + + add(tpl: TemplateRef<{}>): void { + this.modalSrv.create({ + nzTitle: '新建规则', + nzContent: tpl, + nzOnOk: () => { + this.loading = true; + this.http.post('/rule', { description: this.description }).subscribe(() => this.getData()); + } + }); + } + + reset(): void { + // wait form reset updated finished + setTimeout(() => this.getData()); + } +} diff --git a/src/app/routes/exception/403.component.ts b/src/app/routes/exception/403.component.ts new file mode 100644 index 00000000..166a6a49 --- /dev/null +++ b/src/app/routes/exception/403.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'exception-403', + template: ` ` +}) +export class Exception403Component {} diff --git a/src/app/routes/exception/404.component.ts b/src/app/routes/exception/404.component.ts new file mode 100644 index 00000000..f644917b --- /dev/null +++ b/src/app/routes/exception/404.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'exception-404', + template: ` ` +}) +export class Exception404Component {} diff --git a/src/app/routes/exception/500.component.ts b/src/app/routes/exception/500.component.ts new file mode 100644 index 00000000..c04c556a --- /dev/null +++ b/src/app/routes/exception/500.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'exception-500', + template: ` ` +}) +export class Exception500Component {} diff --git a/src/app/routes/exception/exception-routing.module.ts b/src/app/routes/exception/exception-routing.module.ts new file mode 100644 index 00000000..db62c1c0 --- /dev/null +++ b/src/app/routes/exception/exception-routing.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { Exception403Component } from './403.component'; +import { Exception404Component } from './404.component'; +import { Exception500Component } from './500.component'; +import { ExceptionTriggerComponent } from './trigger.component'; + +const routes: Routes = [ + { path: '403', component: Exception403Component }, + { path: '404', component: Exception404Component }, + { path: '500', component: Exception500Component }, + { path: 'trigger', component: ExceptionTriggerComponent } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ExceptionRoutingModule {} diff --git a/src/app/routes/exception/exception.module.ts b/src/app/routes/exception/exception.module.ts new file mode 100644 index 00000000..88fbbe3b --- /dev/null +++ b/src/app/routes/exception/exception.module.ts @@ -0,0 +1,19 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { ExceptionModule as DelonExceptionModule } from '@delon/abc/exception'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCardModule } from 'ng-zorro-antd/card'; + +import { Exception403Component } from './403.component'; +import { Exception404Component } from './404.component'; +import { Exception500Component } from './500.component'; +import { ExceptionRoutingModule } from './exception-routing.module'; +import { ExceptionTriggerComponent } from './trigger.component'; + +const COMPONENTS = [Exception403Component, Exception404Component, Exception500Component, ExceptionTriggerComponent]; + +@NgModule({ + imports: [CommonModule, DelonExceptionModule, NzButtonModule, NzCardModule, ExceptionRoutingModule], + declarations: [...COMPONENTS] +}) +export class ExceptionModule {} diff --git a/src/app/routes/exception/trigger.component.ts b/src/app/routes/exception/trigger.component.ts new file mode 100644 index 00000000..5a0c373d --- /dev/null +++ b/src/app/routes/exception/trigger.component.ts @@ -0,0 +1,35 @@ +import { Component, Inject } from '@angular/core'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { _HttpClient } from '@delon/theme'; + +@Component({ + selector: 'exception-trigger', + template: ` +
    + + + + +
    + ` +}) +export class ExceptionTriggerComponent { + types = [401, 403, 404, 500]; + + constructor(private http: _HttpClient, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + go(type: number): void { + this.http.get(`/api/${type}`).subscribe(); + } + + refresh(): void { + this.tokenService.set({ token: 'invalid-token' }); + // 必须提供一个后端地址,无法通过 Mock 来模拟 + this.http.post(`https://localhost:5001/auth`).subscribe( + res => console.warn('成功', res), + err => { + console.log('最后结果失败', err); + } + ); + } +} diff --git a/src/app/routes/passport/callback.component.ts b/src/app/routes/passport/callback.component.ts new file mode 100644 index 00000000..8e205c62 --- /dev/null +++ b/src/app/routes/passport/callback.component.ts @@ -0,0 +1,35 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { SocialService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'app-callback', + template: ``, + providers: [SocialService] +}) +export class CallbackComponent implements OnInit { + type = ''; + + constructor(private socialService: SocialService, private settingsSrv: SettingsService, private route: ActivatedRoute) {} + + ngOnInit(): void { + this.type = this.route.snapshot.params.type; + this.mockModel(); + } + + private mockModel(): void { + const info = { + token: '123456789', + name: 'cipchk', + email: `${this.type}@${this.type}.com`, + id: 10000, + time: +new Date() + }; + this.settingsSrv.setUser({ + ...this.settingsSrv.user, + ...info + }); + this.socialService.callback(info); + } +} diff --git a/src/app/routes/passport/lock/lock.component.html b/src/app/routes/passport/lock/lock.component.html new file mode 100644 index 00000000..7f56ecdd --- /dev/null +++ b/src/app/routes/passport/lock/lock.component.html @@ -0,0 +1,21 @@ +
    +
    +
    + +
    +
    + + + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/src/app/routes/passport/lock/lock.component.less b/src/app/routes/passport/lock/lock.component.less new file mode 100644 index 00000000..80251d7a --- /dev/null +++ b/src/app/routes/passport/lock/lock.component.less @@ -0,0 +1,12 @@ +:host ::ng-deep { + .ant-card-body { + position: relative; + margin-top: 80px; + } + .avatar { + position: absolute; + top: -20px; + left: 50%; + margin-left: -20px; + } +} diff --git a/src/app/routes/passport/lock/lock.component.ts b/src/app/routes/passport/lock/lock.component.ts new file mode 100644 index 00000000..aac5496b --- /dev/null +++ b/src/app/routes/passport/lock/lock.component.ts @@ -0,0 +1,44 @@ +import { Component, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService, User } from '@delon/theme'; + +@Component({ + selector: 'passport-lock', + templateUrl: './lock.component.html', + styleUrls: ['./lock.component.less'] +}) +export class UserLockComponent { + f: FormGroup; + + get user(): User { + return this.settings.user; + } + + constructor( + fb: FormBuilder, + @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, + private settings: SettingsService, + private router: Router + ) { + this.f = fb.group({ + password: [null, Validators.required] + }); + } + + submit(): void { + for (const i in this.f.controls) { + this.f.controls[i].markAsDirty(); + this.f.controls[i].updateValueAndValidity(); + } + if (this.f.valid) { + console.log('Valid!'); + console.log(this.f.value); + this.tokenService.set({ + token: '123' + }); + this.router.navigate(['dashboard']); + } + } +} diff --git a/src/app/routes/passport/login/login.component.html b/src/app/routes/passport/login/login.component.html new file mode 100644 index 00000000..924ddc48 --- /dev/null +++ b/src/app/routes/passport/login/login.component.html @@ -0,0 +1,77 @@ +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + 请输入手机号! + + + 手机号格式错误! + + + + + + + + + + + + + + + + + + + + + + + + + + 忘记密码 + + + + + +
    +
    + 其他登录方式 + + + + 注册账户 +
    \ No newline at end of file diff --git a/src/app/routes/passport/login/login.component.less b/src/app/routes/passport/login/login.component.less new file mode 100644 index 00000000..eb8287b9 --- /dev/null +++ b/src/app/routes/passport/login/login.component.less @@ -0,0 +1,53 @@ +@import '~@delon/theme/index'; +:host { + display: block; + width: 368px; + margin: 0 auto; + ::ng-deep { + .ant-tabs .ant-tabs-bar { + margin-bottom: 24px; + text-align: center; + border-bottom: 0; + } + .ant-tabs-tab { + font-size: 16px; + line-height: 24px; + } + .ant-input-affix-wrapper .ant-input:not(:first-child) { + padding-left: 4px; + } + .icon { + margin-left: 16px; + color: rgba(0, 0, 0, 0.2); + font-size: 24px; + vertical-align: middle; + cursor: pointer; + transition: color 0.3s; + &:hover { + color: @primary-color; + } + } + .other { + margin-top: 24px; + line-height: 22px; + text-align: left; + nz-tooltip { + vertical-align: middle; + } + .register { + float: right; + } + } + } +} + +[data-theme='dark'] { + :host ::ng-deep { + .icon { + color: rgba(255, 255, 255, 0.2); + &:hover { + color: #fff; + } + } + } +} diff --git a/src/app/routes/passport/login/login.component.ts b/src/app/routes/passport/login/login.component.ts new file mode 100644 index 00000000..99300009 --- /dev/null +++ b/src/app/routes/passport/login/login.component.ts @@ -0,0 +1,213 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnDestroy, Optional } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { StartupService } from '@core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { DA_SERVICE_TOKEN, ITokenService, SocialOpenType, SocialService } from '@delon/auth'; +import { SettingsService, _HttpClient } from '@delon/theme'; +import { environment } from '@env/environment'; +import { NzTabChangeEvent } from 'ng-zorro-antd/tabs'; +import { finalize } from 'rxjs/operators'; + +@Component({ + selector: 'passport-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.less'], + providers: [SocialService], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class UserLoginComponent implements OnDestroy { + constructor( + fb: FormBuilder, + private router: Router, + private settingsService: SettingsService, + private socialService: SocialService, + @Optional() + @Inject(ReuseTabService) + private reuseTabService: ReuseTabService, + @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, + private startupSrv: StartupService, + private http: _HttpClient, + private cdr: ChangeDetectorRef + ) { + this.form = fb.group({ + userName: [null, [Validators.required]], + password: [null, [Validators.required]], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]], + remember: [true] + }); + } + + // #region fields + + get userName(): AbstractControl { + return this.form.controls.userName; + } + get password(): AbstractControl { + return this.form.controls.password; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + form: FormGroup; + error = ''; + type = 0; + loading = false; + + // #region get captcha + + count = 0; + interval$: any; + + // #endregion + + switch({ index }: NzTabChangeEvent): void { + this.type = index!; + } + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.interval$ = setInterval(() => { + this.count -= 1; + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + if (this.type === 0) { + this.userName.markAsDirty(); + this.userName.updateValueAndValidity(); + this.password.markAsDirty(); + this.password.updateValueAndValidity(); + if (this.userName.invalid || this.password.invalid) { + return; + } + } else { + this.mobile.markAsDirty(); + this.mobile.updateValueAndValidity(); + this.captcha.markAsDirty(); + this.captcha.updateValueAndValidity(); + if (this.mobile.invalid || this.captcha.invalid) { + return; + } + } + + // 默认配置中对所有HTTP请求都会强制 [校验](https://ng-alain.com/auth/getting-started) 用户 Token + // 然一般来说登录请求不需要校验,因此可以在请求URL加上:`/login?_allow_anonymous=true` 表示不触发用户 Token 校验 + this.loading = true; + this.cdr.detectChanges(); + this.befaultLogin(); + return; + this.http + .post('/login/account?_allow_anonymous=true', { + type: this.type, + userName: this.userName.value, + password: this.password.value + }) + .pipe( + finalize(() => { + this.loading = true; + this.cdr.detectChanges(); + }) + ) + .subscribe(res => { + if (res.msg !== 'ok') { + this.error = res.msg; + this.cdr.detectChanges(); + return; + } + // 清空路由复用信息 + this.reuseTabService.clear(); + // 设置用户Token信息 + // TODO: Mock expired value + res.user.expired = +new Date() + 1000 * 60 * 5; + this.tokenService.set(res.user); + // 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响 + this.startupSrv.load().then(() => { + let url = this.tokenService.referrer!.url || '/'; + if (url.includes('/passport')) { + url = '/'; + } + this.router.navigateByUrl(url); + }); + }); + } + + befaultLogin() { + // 清空路由复用信息 + this.reuseTabService.clear(); + // 设置用户Token信息 + // TODO: Mock expired value + // 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响 + this.startupSrv.load().then(() => { + let url = this.tokenService.referrer!.url || '/'; + if (url.includes('/passport')) { + url = '/'; + } + this.router.navigateByUrl(url); + }); + } + + // #region social + + open(type: string, openType: SocialOpenType = 'href'): void { + let url = ``; + let callback = ``; + if (environment.production) { + callback = `https://ng-alain.github.io/ng-alain/#/passport/callback/${type}`; + } else { + callback = `http://localhost:4200/#/passport/callback/${type}`; + } + switch (type) { + case 'auth0': + url = `//cipchk.auth0.com/login?client=8gcNydIDzGBYxzqV0Vm1CX_RXH-wsWo5&redirect_uri=${decodeURIComponent(callback)}`; + break; + case 'github': + url = `//github.com/login/oauth/authorize?client_id=9d6baae4b04a23fcafa2&response_type=code&redirect_uri=${decodeURIComponent( + callback + )}`; + break; + case 'weibo': + url = `https://api.weibo.com/oauth2/authorize?client_id=1239507802&response_type=code&redirect_uri=${decodeURIComponent(callback)}`; + break; + } + if (openType === 'window') { + this.socialService + .login(url, '/', { + type: 'window' + }) + .subscribe(res => { + if (res) { + this.settingsService.setUser(res); + this.router.navigateByUrl('/'); + } + }); + } else { + this.socialService.login(url, '/', { + type: 'href' + }); + } + } + + // #endregion + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/passport/login2/login2.component.html b/src/app/routes/passport/login2/login2.component.html new file mode 100644 index 00000000..b07a7154 --- /dev/null +++ b/src/app/routes/passport/login2/login2.component.html @@ -0,0 +1,56 @@ + +
    +
    +
    +

    Work with us

    +

    Our researchers are embedded in teams across computer science, to discover, invent, and build at the largest + scale.

    +
    +
    +
    + +

    注册

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/src/app/routes/passport/login2/login2.component.less b/src/app/routes/passport/login2/login2.component.less new file mode 100644 index 00000000..cc23d678 --- /dev/null +++ b/src/app/routes/passport/login2/login2.component.less @@ -0,0 +1,28 @@ +@import '~@delon/theme/index'; + +:host ::ng-deep { + .pro-passport__bg { + position: relative; + display: flex; + align-items: center; + padding: 48px; + @media (max-width: @screen-md-max) { + display: none !important; + } + .text { + position: relative; + padding: 0 64px; + color: #fff; + h1 { + margin-bottom: 24px; + color: #fff; + font-weight: 900; + font-size: 56px; + } + p { + font-size: 22px; + line-height: 32px; + } + } + } +} diff --git a/src/app/routes/passport/login2/login2.component.ts b/src/app/routes/passport/login2/login2.component.ts new file mode 100644 index 00000000..06b0d178 --- /dev/null +++ b/src/app/routes/passport/login2/login2.component.ts @@ -0,0 +1,78 @@ +import { Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'passport-login2', + templateUrl: './login2.component.html', + styleUrls: ['./login2.component.less'], + host: { + '[class.ant-row]': 'true', + '[class.pro-passport]': 'true' + } +}) +export class UserLogin2Component implements OnDestroy { + form: FormGroup; + error = ''; + + constructor(fb: FormBuilder, private router: Router, private msg: NzMessageService, public http: _HttpClient) { + this.form = fb.group({ + mobilePrefix: ['+86'], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]], + password: [null, [Validators.required, Validators.minLength(6)]] + }); + } + + // #region fields + + get password(): AbstractControl { + return this.form.controls.password; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + + // #endregion + + // #region get captcha + + count = 0; + interval$: any; + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.interval$ = setInterval(() => { + this.count -= 1; + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + const data = this.form.value; + this.http.post('/register', data).subscribe(() => { + this.router.navigate(['passport', 'register-result'], { queryParams: { email: data.mail } }); + }); + } + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/passport/login3/login3.component.html b/src/app/routes/passport/login3/login3.component.html new file mode 100644 index 00000000..3ec68a6e --- /dev/null +++ b/src/app/routes/passport/login3/login3.component.html @@ -0,0 +1,51 @@ + +
    +
    +
    + +

    注册

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/src/app/routes/passport/login3/login3.component.less b/src/app/routes/passport/login3/login3.component.less new file mode 100644 index 00000000..63bf91c6 --- /dev/null +++ b/src/app/routes/passport/login3/login3.component.less @@ -0,0 +1,13 @@ +@import '~@delon/theme/index'; + +:host ::ng-deep { + .pro-passport { + &__form { + position: relative; + max-width: 380px; + margin: 48px auto 0 auto; + background: #fff; + border-radius: 4px; + } + } +} diff --git a/src/app/routes/passport/login3/login3.component.ts b/src/app/routes/passport/login3/login3.component.ts new file mode 100644 index 00000000..641e079c --- /dev/null +++ b/src/app/routes/passport/login3/login3.component.ts @@ -0,0 +1,78 @@ +import { Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'passport-login3', + templateUrl: './login3.component.html', + styleUrls: ['./login3.component.less'], + host: { + '[class.ant-row]': 'true', + '[class.pro-passport]': 'true' + } +}) +export class UserLogin3Component implements OnDestroy { + form: FormGroup; + error = ''; + + constructor(fb: FormBuilder, private router: Router, private msg: NzMessageService, public http: _HttpClient) { + this.form = fb.group({ + mobilePrefix: ['+86'], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]], + password: [null, [Validators.required, Validators.minLength(6)]] + }); + } + + // #region fields + + get password(): AbstractControl { + return this.form.controls.password; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + + // #endregion + + // #region get captcha + + count = 0; + interval$: any; + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.interval$ = setInterval(() => { + this.count -= 1; + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + const data = this.form.value; + this.http.post('/register', data).subscribe(() => { + this.router.navigate(['passport', 'register-result'], { queryParams: { email: data.mail } }); + }); + } + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/passport/passport-routing.module.ts b/src/app/routes/passport/passport-routing.module.ts new file mode 100644 index 00000000..ba8032bd --- /dev/null +++ b/src/app/routes/passport/passport-routing.module.ts @@ -0,0 +1,51 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { LayoutPassportComponent } from '../../layout/passport/passport.component'; +import { CallbackComponent } from './callback.component'; +import { UserLockComponent } from './lock/lock.component'; +import { UserLoginComponent } from './login/login.component'; +import { UserLogin2Component } from './login2/login2.component'; +import { UserLogin3Component } from './login3/login3.component'; +import { UserRegisterResultComponent } from './register-result/register-result.component'; +import { UserRegisterComponent } from './register/register.component'; + +const routes: Routes = [ + // passport + { + path: 'passport', + component: LayoutPassportComponent, + children: [ + { + path: 'login', + component: UserLoginComponent, + data: { title: '登录' } + }, + { + path: 'register', + component: UserRegisterComponent, + data: { title: '注册' } + }, + { + path: 'register-result', + component: UserRegisterResultComponent, + data: { title: '注册结果' } + }, + { + path: 'lock', + component: UserLockComponent, + data: { title: '锁屏' } + } + ] + }, + // 单页不包裹Layout + { path: 'login2', component: UserLogin2Component }, + { path: 'login3', component: UserLogin3Component }, + { path: 'passport/callback/:type', component: CallbackComponent } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class PassportRoutingModule {} diff --git a/src/app/routes/passport/passport.module.ts b/src/app/routes/passport/passport.module.ts new file mode 100644 index 00000000..964929bc --- /dev/null +++ b/src/app/routes/passport/passport.module.ts @@ -0,0 +1,67 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { ResultModule } from '@delon/abc/result'; +import { SEModule } from '@delon/abc/se'; +import { AlainThemeModule } from '@delon/theme'; +import { NzAlertModule } from 'ng-zorro-antd/alert'; +import { NzAvatarModule } from 'ng-zorro-antd/avatar'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCheckboxModule } from 'ng-zorro-antd/checkbox'; +import { NzFormModule } from 'ng-zorro-antd/form'; +import { NzGridModule } from 'ng-zorro-antd/grid'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzPopoverModule } from 'ng-zorro-antd/popover'; +import { NzProgressModule } from 'ng-zorro-antd/progress'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzTabsModule } from 'ng-zorro-antd/tabs'; +import { NzToolTipModule } from 'ng-zorro-antd/tooltip'; + +import { CallbackComponent } from './callback.component'; +import { UserLockComponent } from './lock/lock.component'; +import { UserLoginComponent } from './login/login.component'; +import { UserLogin2Component } from './login2/login2.component'; +import { UserLogin3Component } from './login3/login3.component'; +import { PassportRoutingModule } from './passport-routing.module'; +import { UserRegisterResultComponent } from './register-result/register-result.component'; +import { UserRegisterComponent } from './register/register.component'; + +const COMPONENTS = [ + // passport pages + UserLoginComponent, + UserRegisterComponent, + UserRegisterResultComponent, + UserLockComponent, + // single pages + UserLogin2Component, + UserLogin3Component, + CallbackComponent +]; + +@NgModule({ + imports: [ + PassportRoutingModule, + CommonModule, + FormsModule, + ReactiveFormsModule, + AlainThemeModule.forChild(), + NzTabsModule, + NzAlertModule, + NzFormModule, + NzGridModule, + NzInputModule, + NzSelectModule, + NzButtonModule, + NzCheckboxModule, + NzIconModule, + NzToolTipModule, + NzPopoverModule, + NzProgressModule, + NzAvatarModule, + SEModule, + ResultModule + ], + declarations: COMPONENTS +}) +export class PassportModule {} diff --git a/src/app/routes/passport/register-result/register-result.component.html b/src/app/routes/passport/register-result/register-result.component.html new file mode 100644 index 00000000..1d637c6a --- /dev/null +++ b/src/app/routes/passport/register-result/register-result.component.html @@ -0,0 +1,13 @@ + + +
    + 你的账户:{{params?.email}} 注册成功 +
    +
    + + +
    \ No newline at end of file diff --git a/src/app/routes/passport/register-result/register-result.component.ts b/src/app/routes/passport/register-result/register-result.component.ts new file mode 100644 index 00000000..a5a7cbc0 --- /dev/null +++ b/src/app/routes/passport/register-result/register-result.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'passport-register-result', + templateUrl: './register-result.component.html' +}) +export class UserRegisterResultComponent { + params = { email: '' }; + email = ''; + constructor(route: ActivatedRoute, public msg: NzMessageService) { + this.params.email = this.email = route.snapshot.queryParams.email || 'ng-alain@example.com'; + } +} diff --git a/src/app/routes/passport/register/register.component.html b/src/app/routes/passport/register/register.component.html new file mode 100644 index 00000000..61d3d43f --- /dev/null +++ b/src/app/routes/passport/register/register.component.html @@ -0,0 +1,89 @@ +

    注册

    +
    + + + + + + + + 请输入邮箱地址! + 邮箱地址格式错误! + + + + + + + + + +
    + +
    强度:强
    +
    强度:中
    +
    强度:太短
    +
    +
    + +
    +

    请至少输入 6 个字符。请不要使用容易被猜到的密码。

    +
    +
    +
    +
    + + + + + + + 请确认密码! + 两次输入的密码不匹配! + + + + + + + + + + + + + + + + 请输入手机号! + 手机号格式错误! + + + + + + + + + + + + + + + + + + + + + +
    \ No newline at end of file diff --git a/src/app/routes/passport/register/register.component.less b/src/app/routes/passport/register/register.component.less new file mode 100644 index 00000000..6836413b --- /dev/null +++ b/src/app/routes/passport/register/register.component.less @@ -0,0 +1,42 @@ +@import '~@delon/theme/index'; +:host { + display: block; + width: 368px; + margin: 0 auto; + ::ng-deep { + h3 { + margin-bottom: 20px; + font-size: 16px; + } + .submit { + width: 50%; + } + .login { + float: right; + line-height: @btn-height-lg; + } + } +} +::ng-deep { + .register-password-cdk { + .success, + .warning, + .error { + transition: color 0.3s; + } + .success { + color: @success-color; + } + .warning { + color: @warning-color; + } + .error { + color: @error-color; + } + .progress-pass > .progress { + .ant-progress-bg { + background-color: @warning-color; + } + } + } +} diff --git a/src/app/routes/passport/register/register.component.ts b/src/app/routes/passport/register/register.component.ts new file mode 100644 index 00000000..701f05d0 --- /dev/null +++ b/src/app/routes/passport/register/register.component.ts @@ -0,0 +1,139 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { _HttpClient } from '@delon/theme'; +import { MatchControl } from '@delon/util/form'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { finalize } from 'rxjs/operators'; + +@Component({ + selector: 'passport-register', + templateUrl: './register.component.html', + styleUrls: ['./register.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class UserRegisterComponent implements OnDestroy { + constructor(fb: FormBuilder, private router: Router, private http: _HttpClient, private cdr: ChangeDetectorRef) { + this.form = fb.group( + { + mail: [null, [Validators.required, Validators.email]], + password: [null, [Validators.required, Validators.minLength(6), UserRegisterComponent.checkPassword.bind(this)]], + confirm: [null, [Validators.required, Validators.minLength(6)]], + mobilePrefix: ['+86'], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]] + }, + { + validators: MatchControl('password', 'confirm') + } + ); + } + + // #region fields + + get mail(): AbstractControl { + return this.form.controls.mail; + } + get password(): AbstractControl { + return this.form.controls.password; + } + get confirm(): AbstractControl { + return this.form.controls.confirm; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + form: FormGroup; + error = ''; + type = 0; + loading = false; + visible = false; + status = 'pool'; + progress = 0; + passwordProgressMap: { [key: string]: 'success' | 'normal' | 'exception' } = { + ok: 'success', + pass: 'normal', + pool: 'exception' + }; + + // #endregion + + // #region get captcha + + count = 0; + interval$: any; + + static checkPassword(control: FormControl): NzSafeAny { + if (!control) { + return null; + } + // eslint-disable-next-line @typescript-eslint/no-this-alias + const self: any = this; + self.visible = !!control.value; + if (control.value && control.value.length > 9) { + self.status = 'ok'; + } else if (control.value && control.value.length > 5) { + self.status = 'pass'; + } else { + self.status = 'pool'; + } + + if (self.visible) { + self.progress = control.value.length * 10 > 100 ? 100 : control.value.length * 10; + } + } + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.cdr.detectChanges(); + this.interval$ = setInterval(() => { + this.count -= 1; + this.cdr.detectChanges(); + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + Object.keys(this.form.controls).forEach(key => { + this.form.controls[key].markAsDirty(); + this.form.controls[key].updateValueAndValidity(); + }); + if (this.form.invalid) { + return; + } + + const data = this.form.value; + this.loading = true; + this.cdr.detectChanges(); + this.http + .post('/register?_allow_anonymous=true', data) + .pipe( + finalize(() => { + this.loading = false; + this.cdr.detectChanges(); + }) + ) + .subscribe(() => { + this.router.navigate(['passport', 'register-result'], { queryParams: { email: data.mail } }); + }); + } + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/routes-routing.module.ts b/src/app/routes/routes-routing.module.ts new file mode 100644 index 00000000..0f1254e9 --- /dev/null +++ b/src/app/routes/routes-routing.module.ts @@ -0,0 +1,36 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +// layout +import { LayoutProComponent } from '@brand'; +import { environment } from '@env/environment'; +// dashboard pages +import { DashboardComponent } from './dashboard/dashboard.component'; + +const routes: Routes = [ + { + path: '', + component: LayoutProComponent, + children: [ + { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, + { path: 'dashboard', component: DashboardComponent }, + ], + }, + // passport + { path: '', loadChildren: () => import('./passport/passport.module').then((m) => m.PassportModule) }, + { path: 'exception', loadChildren: () => import('./exception/exception.module').then((m) => m.ExceptionModule) }, + // 单页不包裹Layout + { path: '**', redirectTo: 'exception/404' }, +]; + +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { + useHash: environment.useHash, + // NOTICE: If you use `reuse-tab` component and turn on keepingScroll you can set to `disabled` + // Pls refer to https://ng-alain.com/components/reuse-tab + scrollPositionRestoration: 'top', + }), + ], + exports: [RouterModule], +}) +export class RouteRoutingModule {} diff --git a/src/app/routes/routes.module.ts b/src/app/routes/routes.module.ts new file mode 100644 index 00000000..4bb976fa --- /dev/null +++ b/src/app/routes/routes.module.ts @@ -0,0 +1,16 @@ +import { NgModule, Type } from '@angular/core'; + +import { SharedModule } from '@shared'; +// dashboard pages +import { DashboardComponent } from './dashboard/dashboard.component'; +import { RouteRoutingModule } from './routes-routing.module'; + +const COMPONENTS: Type[] = [DashboardComponent]; +const COMPONENTS_NOROUNT: Type[] = []; + +@NgModule({ + imports: [SharedModule, RouteRoutingModule], + declarations: [...COMPONENTS, ...COMPONENTS_NOROUNT], + entryComponents: COMPONENTS_NOROUNT, +}) +export class RoutesModule {} diff --git a/src/app/shared/README.md b/src/app/shared/README.md new file mode 100644 index 00000000..2819b60c --- /dev/null +++ b/src/app/shared/README.md @@ -0,0 +1,30 @@ +# ShareModule + +**应** 包含定义: + ++ 应用通用自定义业务组件 + +**应** 导出所有包含的模块。 + +**不应** 有 `providers` 属性。 + +## 自定义全局组件或指令 + +每一个组件或指令应该有一个完整的说明文件,**建议**一个合理的目录结构应该是: + +``` +├── components +│   ├── comp1 +│   │   ├── index.ts +│   │   ├── README.md +│   ├── comp2 +│   │   ├── index.ts +│   │   ├── README.md +├── directives +│   ├── dire1 +│   │   ├── index.ts +│   │   ├── README.md +│   ├── dire2 +│   │   ├── index.ts +│   │   ├── README.md +``` diff --git a/src/app/shared/components/address/address.component.html b/src/app/shared/components/address/address.component.html new file mode 100644 index 00000000..70f0fb82 --- /dev/null +++ b/src/app/shared/components/address/address.component.html @@ -0,0 +1,16 @@ + diff --git a/src/app/shared/components/address/address.component.ts b/src/app/shared/components/address/address.component.ts new file mode 100644 index 00000000..6800e8bb --- /dev/null +++ b/src/app/shared/components/address/address.component.ts @@ -0,0 +1,84 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Input, OnInit } from '@angular/core'; +import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { BooleanInput, InputBoolean } from '@delon/util'; +import { + NzCascaderExpandTrigger, + NzCascaderOption, + NzCascaderSize, + NzCascaderTriggerType, + NzShowSearchOptions +} from 'ng-zorro-antd/cascader'; + +import { AddressService, AddressType } from './address.service'; + +@Component({ + selector: 'address', + templateUrl: './address.component.html', + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => AddressComponent), + multi: true + } + ], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class AddressComponent implements OnInit, ControlValueAccessor { + static ngAcceptInputType_allowClear: BooleanInput; + static ngAcceptInputType_autoFocus: BooleanInput; + static ngAcceptInputType_disabled: BooleanInput; + + private onChangeFn?: (val: string) => void; + private onTouchedFn?: () => void; + value: string[] = []; + data?: NzCascaderOption[]; + + // #region fields + + @Input() type: AddressType = 'pca'; + + // Original attributes + @Input() @InputBoolean() allowClear = true; + @Input() @InputBoolean() autoFocus = false; + @Input() @InputBoolean() disabled = false; + @Input() expandTrigger: NzCascaderExpandTrigger = 'click'; + @Input() notFoundContent?: string; + @Input() size: NzCascaderSize = 'default'; + @Input() showSearch!: boolean | NzShowSearchOptions; + @Input() placeHolder = '请选择所在地'; + @Input() mouseEnterDelay = 150; // ms + @Input() mouseLeaveDelay = 150; // ms + @Input() triggerAction: NzCascaderTriggerType | NzCascaderTriggerType[] = ['click'] as NzCascaderTriggerType[]; + + // #endregion + + constructor(private srv: AddressService, private cdr: ChangeDetectorRef) {} + + change(): void { + this.onChangeFn!(this.value.pop()!); + } + + ngOnInit(): void { + this.srv[this.type].subscribe(res => { + this.data = res; + this.cdr.markForCheck(); + }); + } + + writeValue(geo: string): void { + if (geo == null) { + this.value = []; + return; + } + this.value = this.srv.toValueArr(geo, this.type); + } + registerOnChange(fn: any): void { + this.onChangeFn = fn; + } + registerOnTouched(fn: any): void { + this.onTouchedFn = fn; + } + setDisabledState?(isDisabled: boolean): void { + this.disabled = isDisabled; + } +} diff --git a/src/app/shared/components/address/address.module.ts b/src/app/shared/components/address/address.module.ts new file mode 100644 index 00000000..e69c1506 --- /dev/null +++ b/src/app/shared/components/address/address.module.ts @@ -0,0 +1,15 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { NzCascaderModule } from 'ng-zorro-antd/cascader'; + +import { AddressComponent } from './address.component'; + +const COMPONENTS = [AddressComponent]; + +@NgModule({ + imports: [CommonModule, FormsModule, NzCascaderModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class AddressModule {} diff --git a/src/app/shared/components/address/address.service.ts b/src/app/shared/components/address/address.service.ts new file mode 100644 index 00000000..27e11a82 --- /dev/null +++ b/src/app/shared/components/address/address.service.ts @@ -0,0 +1,79 @@ +import { Injectable } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { ArrayService } from '@delon/util'; +import { NzCascaderOption } from 'ng-zorro-antd/cascader'; +import { Observable, of } from 'rxjs'; +import { map } from 'rxjs/operators'; + +export interface PCCode { + code?: string; + name?: string; + value?: string; + label?: string; + isLeaf?: boolean; + children?: PCCode[]; +} + +export type AddressType = 'pc' | 'pca'; +const MAXLENGTH = 6; + +@Injectable({ providedIn: 'root' }) +export class AddressService { + private _pcCode?: NzCascaderOption[]; + private _pcaCode?: NzCascaderOption[]; + + /** + * “省份、城市” 二级联动数据,数据来源于 [pc-code.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/pc-code.json) + */ + get pc(): Observable { + return this._pcCode ? of(this._pcCode) : this.getPcCode(); + } + + /** + * “省份、城市、区县” 三级联动数据,数据来源于 [pc-code.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/pca-code.json) + */ + get pca(): Observable { + return this._pcaCode ? of(this._pcaCode) : this.getPcaCode(); + } + + constructor(private http: _HttpClient, private arrSrv: ArrayService) {} + + /** + * 始终保持 6 位数,不足补 `0` + */ + fixValue(val: string): string { + return `${val}000000`.substr(0, MAXLENGTH); + } + + toValueArr(val: string, type: AddressType): string[] { + val = this.fixValue(val); + const res: string[] = []; + if (type === 'pc') { + res.push(val.substr(0, 2), val); + } else { + for (let i = 0; i < MAXLENGTH; i += 2) { + res.push(val.substr(0, i + 2)); + } + } + return res.map(this.fixValue); + } + + private map = (res: PCCode[]): NzCascaderOption[] => { + this.arrSrv.visitTree(res, (item: PCCode) => { + item.value = this.fixValue(item.code!); + item.label = item.name; + if (!item.children) { + item.isLeaf = true; + } + }); + return res; + }; + + private getPcCode(): Observable { + return this.http.get('./assets/tmp/pc-code.json').pipe(map(this.map)); + } + + private getPcaCode(): Observable { + return this.http.get('./assets/tmp/pca-code.json').pipe(map(this.map)); + } +} diff --git a/src/app/shared/components/address/index.en-US.md b/src/app/shared/components/address/index.en-US.md new file mode 100644 index 00000000..aebdbca4 --- /dev/null +++ b/src/app/shared/components/address/index.en-US.md @@ -0,0 +1,26 @@ +--- +order: 110 +title: address +type: Component +--- + +China address picker, support two styles of “province, city” or “province, city, district”, refer to the account management example. + +## API + +| Property | Description | Type | Default | +|----------|----|----------|--------| +| `[ngModel]` | selected value, return the city or district code | `string` | - | +| `[type]` | Type of address | `pc,pca` | `pca` | +| `[allowClear]` | whether allow clear | `boolean` | `true` | +| `[autoFocus]` | whether auto focus the input box | `boolean` | `false` | +| `[disabled]` | whether disabled select | `boolean` | `false` | +| `[expandTrigger]` | expand current item when click or hover, one of 'click' 'hover' | `'click'|'hover'` | `'click'` | +| `[notFoundContent]` | Specify content to show when no result matches. | `string` | - | +| `[placeHolder]` | input placeholder | `string` | `'请选择所在地'` | +| `[showSearch]` | Whether support search. Cannot be used with `[nzLoadData]` at the same time | `boolean|NzShowSearchOptions` | `false` | +| `[size]` | input size, one of `large` `default` `small` | `'large'|'small'|'default'` | `'default'` | + +## sf widget + +Widget name: `address`. \ No newline at end of file diff --git a/src/app/shared/components/address/index.ts b/src/app/shared/components/address/index.ts new file mode 100644 index 00000000..912a8f05 --- /dev/null +++ b/src/app/shared/components/address/index.ts @@ -0,0 +1,3 @@ +export * from './address.service'; +export * from './address.component'; +export * from './address.module'; diff --git a/src/app/shared/components/address/index.zh-CN.md b/src/app/shared/components/address/index.zh-CN.md new file mode 100644 index 00000000..467f93a5 --- /dev/null +++ b/src/app/shared/components/address/index.zh-CN.md @@ -0,0 +1,26 @@ +--- +order: 110 +title: address +type: Component +--- + +地址选择器,支持“省份、城市”或“省份、城市、区县”两种风格,参考账号管理示例。 + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|----------|----|----------|--------| +| `[ngModel]` | 指定选中项,返回城市或区县代码 | `string` | - | +| `[type]` | 类型 | `pc,pca` | `pca` | +| `[allowClear]` | 是否支持清除 | `boolean` | `true` | +| `[autoFocus]` | 是否自动聚焦,当存在输入框时 | `boolean` | `false` | +| `[disabled]` | 禁用 | `boolean` | `false` | +| `[expandTrigger]` | 次级菜单的展开方式,可选 'click' 和 'hover' | `'click'|'hover'` | `'click'` | +| `[notFoundContent]` | 当下拉列表为空时显示的内容 | `string` | - | +| `[placeHolder]` | 输入框占位文本 | `string` | `'请选择所在地'` | +| `[showSearch]` | 是否支持搜索,默认情况下对 `label` 进行全匹配搜索,不能和 `[nzLoadData]` 同时使用 | `boolean|NzShowSearchOptions` | `false` | +| `[size]` | 输入框大小,可选 `large` `default` `small` | `'large'|'small'|'default'` | `'default'` | + +## sf 小部件 + +小部件名称:`address`。 diff --git a/src/app/shared/components/captcha/captcha.component.html b/src/app/shared/components/captcha/captcha.component.html new file mode 100644 index 00000000..1481b593 --- /dev/null +++ b/src/app/shared/components/captcha/captcha.component.html @@ -0,0 +1 @@ +
    diff --git a/src/app/shared/components/captcha/captcha.component.less b/src/app/shared/components/captcha/captcha.component.less new file mode 100644 index 00000000..0aaacbb6 --- /dev/null +++ b/src/app/shared/components/captcha/captcha.component.less @@ -0,0 +1,6 @@ +:host { + ::ng-deep { + .captcha-box { + } + } +} diff --git a/src/app/shared/components/captcha/captcha.component.ts b/src/app/shared/components/captcha/captcha.component.ts new file mode 100644 index 00000000..ce1e8adb --- /dev/null +++ b/src/app/shared/components/captcha/captcha.component.ts @@ -0,0 +1,79 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { keysConf } from '@conf/keys.conf'; +import { Subject } from 'rxjs'; +import { EACaptchaService } from '../../services'; +import { initNECaptchaWithFallback } from './dun'; +@Component({ + selector: 'app-captcha', + templateUrl: './captcha.component.html', + styleUrls: ['./captcha.component.less'], +}) +export class CaptchaComponent implements OnInit { + @Input() phone!: string; // 手机号 + @Input() url!: string; // api地址 + @Output() done = new EventEmitter(); + captchaIns: any; + + initSubject = new Subject(); + + constructor(public captchaService: EACaptchaService) {} + + ngOnInit() {} + + init() { + const _this = this; + if (this.captchaIns) { + return this.initSubject; + } + + initNECaptchaWithFallback( + { + element: '#captcha', + captchaId: keysConf.yidun_capcha_id, + mode: 'popup', + width: '320px', + onClose: () => { + // 弹出关闭结束后将会触发该函数 + }, + onVerify: (err: any, data: any) => { + // console.log('🚀 ~ init ~ data', data); + if (data?.validate) { + // 验证通过,获取验证码 + _this.captchaDone(data?.validate); + } + }, + }, + (instance: any) => { + // console.log('🚀 ~ initCaptcha ~ instance', instance); + // 初始化成功后得到验证实例instance,可以调用实例的方法 + _this.captchaIns = instance; + this.initSubject.next(_this.captchaIns); + }, + (err: any) => { + // 初始化失败后触发该函数,err对象描述当前错误信息 + }, + ); + + return this.initSubject; + } + /* 网易盾验证通过 */ + captchaDone(validate: any) { + this.captchaService.getCaptchaByDun(this.phone, validate, this.url || undefined).subscribe((res: any) => { + // console.log('🚀 ~ 验证通过发送验证码=>', res); + if (res) { + this.captchaService.msgSrv.success('验证码发送成功!'); + this.done.emit(null); + } else { + this.captchaService.msgSrv.warning(res.msg); + } + }); + } + popUp() { + console.log(222222222222222222222222222222222222222); + if (!this.captchaIns) { + this.init(); + } + this.captchaIns.refresh(); + this.captchaIns.popUp(); + } +} diff --git a/src/app/shared/components/captcha/dun.helper.ts b/src/app/shared/components/captcha/dun.helper.ts new file mode 100644 index 00000000..4e3cb70b --- /dev/null +++ b/src/app/shared/components/captcha/dun.helper.ts @@ -0,0 +1,84 @@ +import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay'; +import { ComponentPortal } from '@angular/cdk/portal'; +import { ComponentRef, Injectable } from '@angular/core'; +import { Observable, Subject } from 'rxjs'; +import { CaptchaComponent } from './captcha.component'; + +@Injectable({ + providedIn: 'root', +}) +export class DunHelper { + captchacontainerRef!: ComponentRef; + userInfo; + + constructor(private overlay: Overlay) { + this.userInfo = JSON.parse(localStorage.getItem('user') || ''); + } + + /** + * 组件初始化 + * @param phone 手机号 + * @param url 发送验证码请求地址 + */ + init(phone: string, url?: string): Subject { + const overlayRef = this.createOverlay(); + const containerPortal = new ComponentPortal(CaptchaComponent); + this.captchacontainerRef = overlayRef.attach(containerPortal); + this.captchacontainerRef.instance.phone = phone; + this.captchacontainerRef.instance.url = url || ''; + return this.captchacontainerRef.instance.init(); + } + + /** + * 弹出滑块验证 + * @param phone 手机号 + * @param url 发送验证码请求地址 + */ + popUp(phone?: string, url?: string): Observable { + if (this.captchacontainerRef) { + this.destory(); + } + + this.init(phone || this.userInfo?.phone, url).subscribe((instance) => { + if (instance) { + this.captchacontainerRef.instance.popUp(); + } + }); + + /* if (!this.captchacontainerRef) { + this.init(phone || this.userInfo?.phone, url).subscribe(instance => { + if (instance) { + this.captchacontainerRef.instance.popUp(); + } + }); + } else { + if (!!phone && !!url) { + this.init(phone || this.userInfo?.phone, url).subscribe(instance => { + if (instance) { + this.captchacontainerRef.instance.popUp(); + } + }); + } else { + this.captchacontainerRef.instance.popUp(); + } + } */ + return this.captchacontainerRef.instance.done; + } + + /** 组件销毁 */ + destory() { + this.captchacontainerRef.destroy(); + } + + private createOverlay(): OverlayRef { + const overlayConfig = new OverlayConfig({ + hasBackdrop: false, + scrollStrategy: this.overlay.scrollStrategies.block(), + positionStrategy: this.overlay.position().global(), + backdropClass: 'captcha-back-drop', + panelClass: 'captcha-overlay', + }); + + return this.overlay.create(overlayConfig); + } +} diff --git a/src/app/shared/components/captcha/dun.ts b/src/app/shared/components/captcha/dun.ts new file mode 100644 index 00000000..ca5e2fd6 --- /dev/null +++ b/src/app/shared/components/captcha/dun.ts @@ -0,0 +1,353 @@ +/* eslint-disable no-undef */ +let errorCallbackCount: any = 0; + +// 常量 +const DEFAULT_VALIDATE = + 'QjGAuvoHrcpuxlbw7cp4WnIbbjzG4rtSlpc7EDovNHQS._ujzPZpeCInSxIT4WunuDDh8dRZYF2GbBGWyHlC6q5uEi9x-TXT9j7J705vSsBXyTar7aqFYyUltKYJ7f4Y2TXm_1Mn6HFkb4M7URQ_rWtpxQ5D6hCgNJYC0HpRE7.2sttqYKLoi7yP1KHzK-PptdHHkVwb77cwS2EJW7Mj_PsOtnPBubTmTZLpnRECJR99dWTVC11xYG0sx8dJNLUxUFxEyzTfX4nSmQz_T5sXATRKHtVAz7nmV0De5unmflfAlUwMGKlCT1khBtewlgN5nHvyxeD8Z1_fPVzi9oznl-sbegj6lKfCWezmLcwft8.4yaVh6SlzXJq-FnSK.euq9OBd5jYc82ge2_hEca1fGU--SkPRzgwkzew4O4qjdS2utdPwFONnhKAIMJRPUmCV4lPHG1OeRDvyNV8sCnuFMw7leasxIhPoycl4pm5bNy70Z1laozEGJgItVNr3'; // 默认validate +const FALLBACK_LANG: any = { + 'zh-CN': '前方拥堵,已自动跳过验证', + en: 'captcha error,Verified automatically', +}; +const CACHE_MIN = 1000 * 60; // 缓存时长单位,1分钟 +const REQUEST_SCRIPT_ERROR = 502; + +const RESOURCE_CACHE: any = {}; + +// 工具函数 +function loadScript(src: any, cb: any) { + const head: any = document.head || document.getElementsByTagName('head')[0]; + const script: any = document.createElement('script'); + + cb = cb || function () {}; + + script.type = 'text/javascript'; + script.charset = 'utf8'; + script.async = true; + script.src = src; + + if (!('onload' in script)) { + script.onreadystatechange = function () { + if (this.readyState !== 'complete' && this.readyState !== 'loaded') { + return; + } + this.onreadystatechange = null; + cb(null, script); // there is no way to catch loading errors in IE8 + }; + } + + script.onload = function () { + this.onerror = this.onload = null; + cb(null, script); + }; + script.onerror = function () { + // because even IE9 works not like others + this.onerror = this.onload = null; + cb(new Error('Failed to load ' + this.src), script); + }; + + head.appendChild(script); +} + +function joinUrl(protocol: any, host: any, path: any) { + protocol = protocol || ''; + host = host || ''; + path = path || ''; + if (protocol) { + protocol = protocol.replace(/:?\/{0,2}$/, '://'); + } + if (host) { + const matched = host.match(/^([-0-9a-zA-Z.:]*)(\/.*)?/); + host = matched[1]; + path = (matched[2] || '') + '/' + path; + } + !host && (protocol = ''); + + return protocol + host + path; +} + +function setDomText(el: any, value: any) { + if (value === undefined) { + return; + } + const nodeType = el.nodeType; + if (nodeType === 1 || nodeType === 11 || nodeType === 9) { + if (typeof el.textContent === 'string') { + el.textContent = value; + } else { + el.innerText = value; + } + } +} + +function queryAllByClassName(selector: any, node: any) { + node = node || document; + if (node.querySelectorAll) { + return node.querySelectorAll(selector); + } + if (!/^\.[^.]+$/.test(selector)) { + return []; + } + if (node.getElementsByClassName) { + return node.getElementsByClassName(selector); + } + + const children = node.getElementsByTagName('*'); + let current; + const result = []; + const className = selector.slice(1); + for (let i = 0, l = children.length; i < l; i++) { + current = children[i]; + if (~(' ' + current.className + ' ').indexOf(' ' + className + ' ')) { + result.push(current); + } + } + return result; +} + +function assert(condition: any, msg: any) { + if (!condition) { + throw new Error('[NECaptcha] ' + msg); + } +} + +function isInteger(val: any) { + if (Number.isInteger) { + return Number.isInteger(val); + } + return typeof val === 'number' && isFinite(val) && Math.floor(val) === val; +} + +function isArray(val: any) { + if (Array.isArray) { + return Array.isArray(val); + } + return Object.prototype.toString.call(val) === '[object Array]'; +} + +function ObjectAssign(a: any, b: any, c: any) { + if (Object.assign) { + // return Object.assign.apply(null, arguments); + return Object.assign.apply(null, arguments as any); + } + + const target: any = {}; + for (let index = 1; index < arguments.length; index++) { + const source = arguments[index]; + if (source != null) { + for (const key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + } + return target; +} + +function getTimestamp(msec: any) { + msec = !msec && msec !== 0 ? msec : 1; + return parseInt((new Date().valueOf() / msec).toString(), 10); +} + +// 降级方案 +function normalizeFallbackConfig(customConfig: any) { + const siteProtocol = window.location.protocol.replace(':', ''); + const defaultConf: any = { + protocol: siteProtocol === 'http' ? 'http' : 'https', + lang: 'zh-CN', + errorFallbackCount: 3, + }; + const config: any = ObjectAssign({}, defaultConf, customConfig); + + const errorFallbackCount: any = config.errorFallbackCount; + assert( + errorFallbackCount === undefined || (isInteger(errorFallbackCount) && errorFallbackCount >= 1), + "errorFallbackCount must be an integer, and it's value greater than or equal one", + ); + + return config; +} + +function loadResource(config: any, cb: any) { + if ((window as any).initNECaptcha) { + return cb(null); + } + function genUrl(server: any) { + const path = 'load.min.js'; + let _urls = []; + if (isArray(server)) { + for (let i = 0, len = server.length; i < len; i++) { + _urls.push(joinUrl(config.protocol, server[i], path)); + } + } else { + const url = joinUrl(config.protocol, server, path); + _urls = [url, url]; + } + + return _urls; + } + const urls = genUrl(config.staticServer || ['cstaticdun.126.net', 'cstaticdun1.126.net', 'cstatic.dun.163yun.com']); + + function step(i: any) { + const url = urls[i] + '?v=' + getTimestamp(CACHE_MIN); + loadScript(url, function (err: any) { + if (err || !(window as any).initNECaptcha) { + // loadjs的全局变量 + i = i + 1; + if (i === urls.length) { + return cb(new Error('Failed to load script(' + url + ').' + (err ? err.message : 'unreliable script'))); + } + return step(i); + } + return cb(null); + }); + } + step(0); +} + +/* + * entry: initNECaptchaWithFallback + * options: + * errorFallbackCount: 触发降级的错误次数,默认第三次错误降级 + * defaultFallback: 是否开启默认降级 + * onFallback: 自定义降级方案,参数为默认validate + */ +export function initNECaptchaWithFallback(options: any, onload: any, onerror: any) { + let captchaIns: any = null; + + const config = normalizeFallbackConfig(options); + const defaultFallback = config.defaultFallback !== false; + const langPkg = FALLBACK_LANG[config.lang === 'zh-CN' ? config.lang : 'en']; + const storeKey = window.location.pathname + '_' + config.captchaId + '_NECAPTCHA_ERROR_COUNTS'; + try { + errorCallbackCount = parseInt(localStorage.getItem(storeKey)?.toString() || '0', 10); + } catch (error) {} + + const fallbackFn = !defaultFallback + ? config.onFallback || function () {} + : (validate: any) => { + function setFallbackTip(instance: any) { + if (!instance) { + return; + } + setFallbackTip(instance._captchaIns); + if (!instance.$el) { + return; + } + const tipEles = queryAllByClassName('.yidun-fallback__tip', instance.$el); + if (!tipEles.length) { + return; + } + + // 确保在队列的最后 + setTimeout(() => { + for (let i = 0, l = tipEles.length; i < l; i++) { + setDomText(tipEles[i], langPkg); + } + }, 0); + } + setFallbackTip(captchaIns); + + config.onVerify && config.onVerify(null, { validate: validate }); + }; + const noFallback = !defaultFallback && !config.onFallback; + + const proxyOnError = (error: any) => { + errorCallbackCount++; + if (errorCallbackCount < config.errorFallbackCount) { + try { + localStorage.setItem(storeKey, errorCallbackCount); + } catch (err) {} + + onerror(error); + } else { + fallbackFn(DEFAULT_VALIDATE); + proxyRefresh(); + noFallback && onerror(error); + } + }; + + const proxyRefresh = () => { + errorCallbackCount = 0; + try { + localStorage.setItem(storeKey, '0'); + } catch (err) {} + }; + + const triggerInitError = (error: any) => { + if (initialTimer && initialTimer.isError()) { + initialTimer.resetError(); + return; + } + initialTimer && initialTimer.resetTimer(); + noFallback ? onerror(error) : proxyOnError(error); + }; + + config.onError = (error: any) => { + if (initialTimer && initialTimer.isError()) { + initialTimer.resetError(); + } + proxyOnError(error); + }; + config.onDidRefresh = () => { + if (initialTimer && initialTimer.isError()) { + initialTimer.resetError(); + } + proxyRefresh(); + }; + + const initialTimer = options.initTimeoutError ? options.initTimeoutError(proxyOnError) : null; // initialTimer is only for mobile.html + + const loadResolve = () => { + (window as any).initNECaptcha( + config, + (instance: any) => { + if (initialTimer && initialTimer.isError()) { + return; + } + initialTimer && initialTimer.resetTimer(); + captchaIns = instance; + onload && onload(instance); + }, + triggerInitError, + ); + }; + const cacheId = 'load-queue'; + if (!RESOURCE_CACHE[cacheId]) { + RESOURCE_CACHE[cacheId] = { + rejects: [], + resolves: [], + status: 'error', + }; + } + if (RESOURCE_CACHE[cacheId].status === 'error') { + RESOURCE_CACHE[cacheId].status = 'pending'; + loadResource(config, (error: any) => { + if (error) { + const err: any = new Error(); + err.code = REQUEST_SCRIPT_ERROR; + err.message = config.staticServer + '/load.min.js error'; + + const rejects = RESOURCE_CACHE[cacheId].rejects; + for (let i = 0, iLen = rejects.length; i < iLen; i++) { + rejects.pop()(err); + } + RESOURCE_CACHE[cacheId].status = 'error'; + } else { + RESOURCE_CACHE[cacheId].status = 'done'; + const resolves = RESOURCE_CACHE[cacheId].resolves; + for (let j = 0, jLen = resolves.length; j < jLen; j++) { + resolves.pop()(); + } + } + }); + } else if (RESOURCE_CACHE[cacheId].status === 'done') { + loadResolve(); + } + if (RESOURCE_CACHE[cacheId].status === 'pending') { + RESOURCE_CACHE[cacheId].rejects.push(function loadReject(err: any) { + triggerInitError(err); + }); + RESOURCE_CACHE[cacheId].resolves.push(loadResolve); + } +} diff --git a/src/app/shared/components/captcha/index.ts b/src/app/shared/components/captcha/index.ts new file mode 100644 index 00000000..b2c67294 --- /dev/null +++ b/src/app/shared/components/captcha/index.ts @@ -0,0 +1,2 @@ +export * from './captcha.component'; +export * from './dun.helper'; diff --git a/src/app/shared/components/delay/delay.directive.ts b/src/app/shared/components/delay/delay.directive.ts new file mode 100644 index 00000000..cf6e25d6 --- /dev/null +++ b/src/app/shared/components/delay/delay.directive.ts @@ -0,0 +1,45 @@ +import { AfterViewInit, Directive, EventEmitter, Input, OnDestroy, Optional, Output } from '@angular/core'; +import { NgModel } from '@angular/forms'; +import { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util'; +import { Subscription } from 'rxjs'; +import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; + +@Directive({ + selector: '[delay]:not([noDelay])', + exportAs: 'delayComp' +}) +export class DelayDirective implements AfterViewInit, OnDestroy { + static ngAcceptInputType_delayTime: NumberInput; + static ngAcceptInputType_delayFirstEmit: BooleanInput; + + private data$: Subscription | undefined; + private firstEmit = false; + + @Input() @InputNumber() delayTime = 500; + @Input() @InputBoolean() delayFirstEmit = false; + @Output() readonly delayChange = new EventEmitter(); + + constructor(@Optional() private ngModel: NgModel) {} + + ngAfterViewInit(): void { + const { ngModel, delayFirstEmit, delayTime, delayChange } = this; + if (ngModel == null) { + return; + } + + this.firstEmit = delayFirstEmit; + this.data$ = ngModel.valueChanges?.pipe(debounceTime(delayTime), distinctUntilChanged()).subscribe(res => { + if (this.firstEmit === false) { + this.firstEmit = true; + return; + } + delayChange.emit(res); + }); + } + + ngOnDestroy(): void { + if (this.data$) { + this.data$.unsubscribe(); + } + } +} diff --git a/src/app/shared/components/delay/delay.module.ts b/src/app/shared/components/delay/delay.module.ts new file mode 100644 index 00000000..307a8d3f --- /dev/null +++ b/src/app/shared/components/delay/delay.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { DelayDirective } from './delay.directive'; + +const COMPONENTS = [DelayDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class DelayModule {} diff --git a/src/app/shared/components/delay/index.en-US.md b/src/app/shared/components/delay/index.en-US.md new file mode 100644 index 00000000..851475a5 --- /dev/null +++ b/src/app/shared/components/delay/index.en-US.md @@ -0,0 +1,19 @@ +--- +order: 30 +title: delay +type: Component +--- + +Delay trigger, for title search, [DEMO](https://preview.ng-alain.com/pro/#/other/article). + +```html + +``` + +## API + +| Property | Description | Type | Default | +|--------------------|----------------------------------------|---------------------|---------| +| `[delayTime]` | Delay time (unit: ms) | `number` | `500` | +| `[delayFirstEmit]` | Whether to trigger after `delayChange` | `boolean` | `false` | +| `(delayChange)` | Callback event | `EventEmitter` | - | diff --git a/src/app/shared/components/delay/index.ts b/src/app/shared/components/delay/index.ts new file mode 100644 index 00000000..9898c01b --- /dev/null +++ b/src/app/shared/components/delay/index.ts @@ -0,0 +1,2 @@ +export * from './delay.directive'; +export * from './delay.module'; diff --git a/src/app/shared/components/delay/index.zh-CN.md b/src/app/shared/components/delay/index.zh-CN.md new file mode 100644 index 00000000..426a4502 --- /dev/null +++ b/src/app/shared/components/delay/index.zh-CN.md @@ -0,0 +1,19 @@ +--- +order: 30 +title: delay +type: Component +--- + +延迟触发,适用于标题搜索,参考[示例](https://preview.ng-alain.com/pro/#/other/article)。 + +```html + +``` + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|--------------------|----------------------------|---------------------|---------| +| `[delayTime]` | 延迟时间(单位:毫秒) | `number` | `500` | +| `[delayFirstEmit]` | 是否加载后触发 `delayChange` | `boolean` | `false` | +| `(delayChange)` | 回调函数 | `EventEmitter` | - | diff --git a/src/app/shared/components/editor/editor.component.ts b/src/app/shared/components/editor/editor.component.ts new file mode 100644 index 00000000..69510a5a --- /dev/null +++ b/src/app/shared/components/editor/editor.component.ts @@ -0,0 +1,417 @@ +/** + * Part of the code comes from https://github.com/KillerCodeMonkey/ngx-quill/ + */ +import { DOCUMENT, isPlatformServer } from '@angular/common'; +import { + AfterViewInit, + Component, + ElementRef, + EventEmitter, + forwardRef, + Inject, + Input, + NgZone, + OnChanges, + OnDestroy, + Output, + PLATFORM_ID, + Renderer2, + SimpleChanges +} from '@angular/core'; +import { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms'; +import { ModalHelper } from '@delon/theme'; +import { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util'; +import ImageResize from 'quill-image-resize-module'; + +import { FileManagerImgComponent } from '../file-manager/file-manager-img.component'; + +declare var Quill: any; +const Delta = require('quill-delta'); + +export interface CustomOption { + import: string; + whitelist: any[]; +} + +Quill.register('modules/imageResize', ImageResize); +['align', 'background', 'color', 'direction', 'font'].forEach(type => Quill.register(Quill.import(`attributors/style/${type}`), true)); +const Size = Quill.import('attributors/style/size'); +const VALUES = { + // NOTICE: Should be sync modify `@ql-sizes` in `styles/fix/_quill.less` + size: ['10px', '12px', '14px', '16px', '18px', '20px', '24px'] +}; +Size.whitelist = VALUES.size; +Quill.register(Size, true); + +@Component({ + selector: 'editor', + template: ``, + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => EditorComponent), + multi: true + }, + { + provide: NG_VALIDATORS, + useExisting: forwardRef(() => EditorComponent), + multi: true + } + ], + host: { + '[class.quill-editor]': 'true' + }, + preserveWhitespaces: false +}) +export class EditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator { + @Input() + set mode(value: 'full' | 'simple') { + this._mode = value; + const handlers = { + image: (state: boolean) => this.image(state) + }; + if (value === 'full') { + this.modules = { + imageResize: {}, + toolbar: { + handlers, + container: [ + ['bold', 'italic', 'underline', 'strike'], // toggled buttons + ['blockquote', 'code-block'], + + [{ header: 1 }, { header: 2 }], // custom button values + [{ list: 'ordered' }, { list: 'bullet' }], + [{ script: 'sub' }, { script: 'super' }], // superscript/subscript + [{ indent: '-1' }, { indent: '+1' }], // outdent/indent + // [{ direction: 'rtl' }], // text direction + + [{ size: VALUES.size }], // custom dropdown + [{ header: [1, 2, 3, false] }], + + [{ color: [] }, { background: [] }], // dropdown with defaults from theme + // [{ font: [] }], + [{ align: [] }], + + ['clean'], // remove formatting button + + ['link', 'image', 'video'] // link and image, video + ] + } + }; + } else { + this.modules = { + imageResize: {}, + toolbar: { + handlers, + container: [ + ['bold', 'italic', 'underline', 'strike', 'blockquote'], // toggled buttons + [{ header: 1 }, { header: 2 }], // custom button values + [{ list: 'ordered' }, { list: 'bullet' }], + [{ header: [1, 2, 3, false] }], + [{ color: [] }, { background: [] }], // dropdown with defaults from theme + [{ align: [] }], + ['clean'], // remove formatting button + ['link', 'image', 'video'] // link and image, video + ] + } + }; + } + } + + constructor( + private elementRef: ElementRef, + @Inject(DOCUMENT) private doc: any, + @Inject(PLATFORM_ID) private platformId: {}, + private renderer: Renderer2, + private zone: NgZone, + private modalHelper: ModalHelper + ) {} + static ngAcceptInputType_readOnly: BooleanInput; + static ngAcceptInputType_maxLength: NumberInput; + static ngAcceptInputType_minLength: NumberInput; + static ngAcceptInputType_required: BooleanInput; + static ngAcceptInputType_strict: BooleanInput; + + quill: any; + editorElem!: HTMLElement; + emptyArray: any[] = []; + content: any; + selectionChangeEvent: any; + textChangeEvent: any; + _mode!: 'full' | 'simple'; + + @Input() format: 'object' | 'html' | 'text' | 'json' = 'html'; + @Input() theme?: string; + @Input() modules?: { [index: string]: any }; + @Input() @InputBoolean() readOnly?: boolean; + @Input() placeholder = ''; + @Input() @InputNumber() maxLength?: number; + @Input() @InputNumber() minLength?: number; + @Input() @InputBoolean() required?: boolean; + @Input() formats?: string[]; + @Input() style: any = { height: '250px' }; + @Input() @InputBoolean() strict = true; + @Input() scrollingContainer?: HTMLElement | string; + @Input() bounds?: HTMLElement | string; + @Input() customOptions: CustomOption[] = []; + + @Output() readonly editorCreated = new EventEmitter(); + @Output() readonly contentChanged = new EventEmitter(); + @Output() readonly selectionChanged = new EventEmitter(); + private image(_: boolean): void { + this.modalHelper + .create( + FileManagerImgComponent, + { + opt: { + multiple: true, + i: { orderby: 0, cat_id: 0, ps: 20 } + } + }, + { + size: 1000, + modalOptions: { + nzClosable: false + } + } + ) + .subscribe((res: any[]) => { + // delete + const range = this.quill.getSelection(true); + this.quill.updateContents(new Delta().retain(range.index).delete(range.length)); + // install all images + for (const ii of res) { + this.quill.updateContents(new Delta().retain(range.index).delete(range.length).insert({ image: ii.mp }, { alt: ii.title })); + } + }); + } + + @Input() + valueGetter = (quillEditor: any, editorElement: HTMLElement): any => { + let html: string | null = editorElement.children[0].innerHTML; + if (html === '


    ' || html === '

    ') { + html = null; + } + let modelValue = html; + + if (this.format === 'text') { + modelValue = quillEditor.getText(); + } else if (this.format === 'object') { + modelValue = quillEditor.getContents(); + } else if (this.format === 'json') { + try { + modelValue = JSON.stringify(quillEditor.getContents()); + } catch (e) { + modelValue = quillEditor.getText(); + } + } + + return modelValue; + }; + + @Input() + valueSetter = (quillEditor: any, value: any, _format: 'object' | 'html' | 'json'): any => { + if (this.format === 'html') { + return quillEditor.clipboard.convert(value); + } else if (this.format === 'json') { + try { + return JSON.parse(value); + } catch (e) { + return value; + } + } + + return value; + }; + + onModelChange = (_: any) => {}; + onModelTouched = () => {}; + + ngAfterViewInit(): void { + if (isPlatformServer(this.platformId)) { + return; + } + + if (this._mode == null) { + this.mode = 'full'; + } + + const modules: any = this.modules; + + this.elementRef.nativeElement.insertAdjacentHTML('beforeend', '
    '); + this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]'); + + if (this.style) { + Object.keys(this.style).forEach((key: string) => { + this.renderer.setStyle(this.editorElem, key, this.style[key]); + }); + } + + this.customOptions.forEach(customOption => { + const newCustomOption = Quill.import(customOption.import); + newCustomOption.whitelist = customOption.whitelist; + Quill.register(newCustomOption, true); + }); + + this.quill = new Quill(this.editorElem, { + modules, + placeholder: this.placeholder, + readOnly: this.readOnly || false, + theme: this.theme || 'snow', + formats: this.formats, + bounds: this.bounds ? (this.bounds === 'self' ? this.editorElem : this.bounds) : this.doc.body, + strict: this.strict, + scrollingContainer: this.scrollingContainer + }); + + if (this.content) { + if (this.format === 'object') { + this.quill.setContents(this.content, 'silent'); + } else if (this.format === 'text') { + this.quill.setText(this.content, 'silent'); + } else if (this.format === 'json') { + try { + this.quill.setContents(JSON.parse(this.content), 'silent'); + } catch (e) { + this.quill.setText(this.content, 'silent'); + } + } else { + const contents = this.quill.clipboard.convert(this.content); + this.quill.setContents(contents, 'silent'); + } + + this.quill.history.clear(); + } + + this.editorCreated.emit(this.quill); + + // mark model as touched if editor lost focus + this.selectionChangeEvent = this.quill.on('selection-change', (range: any, oldRange: any, source: string) => { + this.zone.run(() => { + this.selectionChanged.emit({ + editor: this.quill, + range, + oldRange, + source + }); + + if (!range) { + this.onModelTouched(); + } + }); + }); + + // update model if text changes + this.textChangeEvent = this.quill.on('text-change', (delta: any, oldDelta: any, source: string) => { + const text = this.quill.getText(); + const content = this.quill.getContents(); + + let html: string | null = this.editorElem.children[0].innerHTML; + if (html === '


    ' || html === '

    ') { + html = null; + } + + this.zone.run(() => { + this.onModelChange(this.valueGetter(this.quill, this.editorElem)); + + this.contentChanged.emit({ + editor: this.quill, + html, + text, + content, + delta, + oldDelta, + source + }); + }); + }); + } + + ngOnDestroy(): void { + if (this.selectionChangeEvent) { + this.selectionChangeEvent.removeListener('selection-change'); + } + if (this.textChangeEvent) { + this.textChangeEvent.removeListener('text-change'); + } + } + + ngOnChanges(changes: SimpleChanges): void { + if (!this.quill) { + return; + } + if (changes.readOnly) { + this.quill.enable(!changes.readOnly.currentValue); + } + if (changes.placeholder) { + this.quill.root.dataset.placeholder = changes.placeholder.currentValue; + } + } + + writeValue(currentValue: any): void { + this.content = currentValue; + + if (this.quill) { + if (currentValue) { + if (this.format === 'text') { + this.quill.setText(currentValue); + } else { + this.quill.setContents(this.valueSetter(this.quill, this.content, this.format)); + } + return; + } + this.quill.setText(''); + } + } + + registerOnChange(fn: (value: any) => void): void { + this.onModelChange = fn; + } + + registerOnTouched(fn: () => void): void { + this.onModelTouched = fn; + } + + validate(): any { + if (!this.quill) { + return null; + } + + const err: { + minLengthError?: { given: number; minLength: number }; + maxLengthError?: { given: number; maxLength: number }; + requiredError?: { empty: boolean }; + } = {}; + let valid = true; + + const textLength = this.quill.getText().trim().length; + + if (this.minLength && textLength && textLength < this.minLength) { + err.minLengthError = { + given: textLength, + minLength: this.minLength + }; + + valid = false; + } + + if (this.maxLength && textLength > this.maxLength) { + err.maxLengthError = { + given: textLength, + maxLength: this.maxLength + }; + + valid = false; + } + + if (this.required && !textLength) { + err.requiredError = { + empty: true + }; + + valid = false; + } + + return valid ? null : err; + } +} diff --git a/src/app/shared/components/editor/editor.module.ts b/src/app/shared/components/editor/editor.module.ts new file mode 100644 index 00000000..e87e16ca --- /dev/null +++ b/src/app/shared/components/editor/editor.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; + +import { FileManagerModule } from '../file-manager'; +import { EditorComponent } from './editor.component'; + +const COMPONENTS = [EditorComponent]; + +@NgModule({ + imports: [FileManagerModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class EditorModule {} diff --git a/src/app/shared/components/editor/index.en-US.md b/src/app/shared/components/editor/index.en-US.md new file mode 100644 index 00000000..60ed9011 --- /dev/null +++ b/src/app/shared/components/editor/index.en-US.md @@ -0,0 +1,39 @@ +--- +order: 60 +title: editor +type: Component +--- + +Based on [quill](https://github.com/quilljs/quill) WYSIWYG editor, [DEMO](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001). + +## Feature + +- Integration [file-manager](file-manager) +- Integration [quill-image-resize-module](https://github.com/kensnyder/quill-image-resize-module) + +## API + +| Property | Description | Type | Default | +| ---------------------- | -------------------------------------- | ------------------- | --------------------- | +| `[(ngModel)]` | Value of quill | `string` | - | +| `[mode]` | Mode of quill | `full,simple` | `full` | +| `[theme]` | Theme of quill | `string` | `snow` | +| `[readOnly]` | Whether to readonly | `boolean` | `false` | +| `[required]` | Whether to required | `boolean` | - | +| `[maxLength]` | The maximum number of quill characters | `number` | - | +| `[minLength]` | The minimum number of quill characters | `number` | - | +| `[placeholder]` | Placeholder of quill | `string` | - | +| `[style]` | Styles of quill | `any` | `{ height: '250px' }` | +| `(editorCreated)` | Quill rendered event | `EventEmitter` | - | +| `(contentChanged)` | Quill content change event | `EventEmitter` | - | +| `(selectionChanged)` | `selection-change` event | `EventEmitter` | - | + +## sf widget + +Widget name: `editor`. + +### ui + +| Property | Description | Type | Default | +| -------------------- | -------------------------- | ------------------------- | ------- | +| `(contentChanged)` | Quill content change event | `(value: string) => void` | - | diff --git a/src/app/shared/components/editor/index.ts b/src/app/shared/components/editor/index.ts new file mode 100644 index 00000000..49885cf0 --- /dev/null +++ b/src/app/shared/components/editor/index.ts @@ -0,0 +1,2 @@ +export * from './editor.component'; +export * from './editor.module'; diff --git a/src/app/shared/components/editor/index.zh-CN.md b/src/app/shared/components/editor/index.zh-CN.md new file mode 100644 index 00000000..e7f01ac2 --- /dev/null +++ b/src/app/shared/components/editor/index.zh-CN.md @@ -0,0 +1,39 @@ +--- +order: 60 +title: editor +type: Component +--- + +基于 [quill](https://github.com/quilljs/quill) 富文本编辑器,参考[示例](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001)。 + +## 特性 + +- 整合 [file-manager](file-manager) +- 整合 [quill-image-resize-module](https://github.com/kensnyder/quill-image-resize-module) + +## API + +| 参数 | 说明 | 类型 | 默认值 | +| ---------------------- | -------------------------- | ------------------- | --------------------- | +| `[(ngModel)]` | 值 | `string` | - | +| `[mode]` | 模式 | `full,simple` | `full` | +| `[theme]` | 主题 | `string` | `snow` | +| `[readOnly]` | 是否只读 | `boolean` | `false` | +| `[required]` | 是否必填 | `boolean` | - | +| `[maxLength]` | 最大长度 | `number` | - | +| `[minLength]` | 最少长度 | `number` | - | +| `[placeholder]` | 文本框默认值 | `string` | - | +| `[style]` | 样式,可以决定富文本的高度 | `any` | `{ height: '250px' }` | +| `(editorCreated)` | 初始化完成后事件 | `EventEmitter` | - | +| `(contentChanged)` | 内容变更事件 | `EventEmitter` | - | +| `(selectionChanged)` | `selection-change` 事件 | `EventEmitter` | - | + +## sf 小部件 + +小部件名称:`editor`。 + +### ui + +| 参数 | 说明 | 类型 | 默认值 | +| -------------------- | ------------ | ------------------------- | ------ | +| `(contentChanged)` | 内容变更事件 | `(value: string) => void` | - | diff --git a/src/app/shared/components/file-manager/file-manager-img.component.html b/src/app/shared/components/file-manager/file-manager-img.component.html new file mode 100644 index 00000000..fa71a3aa --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager-img.component.html @@ -0,0 +1,53 @@ +
    +
    + +
    +
    + + + + +
      +
    • Copy Link
    • +
    • Copy Code
    • +
    +
    + + + + + + + + + + +
    +
    +
    +
    + + + 已选图 + (按住拖动可调整顺序) + + +
    +
    +
    +
    {{ i.title }}
    +
    + {{ i.width }}x{{ i.height }} +
    +
    +
    +
    diff --git a/src/app/shared/components/file-manager/file-manager-img.component.ts b/src/app/shared/components/file-manager/file-manager-img.component.ts new file mode 100644 index 00000000..c72bcdd2 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager-img.component.ts @@ -0,0 +1,108 @@ +import { moveItemInArray } from '@angular/cdk/drag-drop'; +import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { ArrayService, copy } from '@delon/util'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzModalRef } from 'ng-zorro-antd/modal'; +import { NzFormatEmitEvent } from 'ng-zorro-antd/tree'; + +import { FileManagerComponent } from './file-manager.component'; + +@Component({ + selector: 'file-manager-img', + templateUrl: './file-manager-img.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class FileManagerImgComponent implements AfterViewInit { + result: any[] = []; + cat: any = { + ls: [], + item: {} + }; + + @Input() + params = { + type: 'file', + q: '', + is_img: true, + parent_id: 0, + orderby: 0 + }; + @Input() multiple: boolean | number = false; + @ViewChild('fm', { static: false }) fm!: FileManagerComponent; + + constructor( + private http: _HttpClient, + private arrSrv: ArrayService, + private msg: NzMessageService, + private modal: NzModalRef, + private cdr: ChangeDetectorRef + ) {} + + ngAfterViewInit(): void { + this.loadCat(); + } + + copyData(type: 'link' | 'code'): void { + copy(this.result.map(v => this.fm.getCode(v.mp, type)).join('\n')).then(() => this.msg.success('Copy Success')); + } + + // #region category + + changeCat(e: NzFormatEmitEvent): void { + this.cat.item = e.node!.origin; + this.params.parent_id = e.node!.origin.id; + this.fm.load(1); + this.cdr.detectChanges(); + } + + loadCat(): void { + this.http.get('/file/folder').subscribe((res: any[]) => { + res.splice(0, 0, { id: 0, title: '所有图片' }); + this.cat.ls = this.arrSrv.arrToTreeNode(res, { + cb: (item, parent, deep) => { + item.expanded = deep <= 1; + item.selected = item.id === 0; + } + }); + this.cat.item = res[0]; + this.cdr.detectChanges(); + }); + } + + // #endregion + + load(): void { + this.fm.load(1); + } + + cho(i: any): void { + if (i.on === true) { + this.result.splice(this.result.indexOf(i), 1); + i.on = false; + return; + } + if (!this.multiple) { + this.result.push(i); + this.ok(); + return; + } + + if (typeof this.multiple === 'number' && this.result.length >= this.multiple) { + this.msg.error(`最多只能选取${this.multiple}张`); + return; + } + i.on = true; + this.result.push(i); + this.cdr.detectChanges(); + } + + drop(e: any): void { + moveItemInArray(this.result, e.previousIndex, e.currentIndex); + this.cdr.detectChanges(); + } + + ok(): void { + this.modal.close(this.result); + } +} diff --git a/src/app/shared/components/file-manager/file-manager-img.directive.ts b/src/app/shared/components/file-manager/file-manager-img.directive.ts new file mode 100644 index 00000000..ee484d4e --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager-img.directive.ts @@ -0,0 +1,39 @@ +import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core'; +import { ModalHelper } from '@delon/theme'; + +import { FileManagerImgComponent } from './file-manager-img.component'; + +@Directive({ selector: '[dialog-img]' }) +export class FileManagerImgDirective { + @Input() multiple: boolean | number = false; + @Input() field?: string; + @Output() readonly selected = new EventEmitter(); + + constructor(private modalHelper: ModalHelper) {} + + @HostListener('click') + _click(): void { + this.modalHelper + .create( + FileManagerImgComponent, + { + multiple: this.multiple + }, + { + size: 1000, + modalOptions: { + nzClosable: false + } + } + ) + .subscribe((res: any) => { + if (Array.isArray(res)) { + let ret = res.length > 0 && !this.multiple ? res[0] : res; + if (this.field && ret) { + ret = ret[this.field]; + } + this.selected.emit(ret); + } + }); + } +} diff --git a/src/app/shared/components/file-manager/file-manager.component.html b/src/app/shared/components/file-manager/file-manager.component.html new file mode 100644 index 00000000..b33f9ba9 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager.component.html @@ -0,0 +1,73 @@ +
    +
    + + + + +
    + + + + +
    + +
    +
    Filename
    +
    Pixel
    +
    Changed
    +
    +
    +
    + +
    ..
    +
    +
    + + + +
    +
    +
    {{ i.title }}
    +
    + {{ i.width }}x{{ i.height }} +
    +
    {{ i.created | _date }}
    + + + + +
      +
    • Copy
    • +
    • Copy Link
    • +
    • Copy Code
    • +
    • Rename
    • +
    • Move
    • +
    • Remove
    • +
    +
    +
    +
    +
    + +
    +
    暂无
    +
    + + + + + + diff --git a/src/app/shared/components/file-manager/file-manager.component.ts b/src/app/shared/components/file-manager/file-manager.component.ts new file mode 100644 index 00000000..555bdbb0 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager.component.ts @@ -0,0 +1,188 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { ArrayService, copy } from '@delon/util'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzUploadFile } from 'ng-zorro-antd/upload'; + +@Component({ + selector: 'file-manager', + templateUrl: './file-manager.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class FileManagerComponent implements OnInit { + private get parent_id(): number { + return this.path[this.path.length - 1]; + } + + constructor(private http: _HttpClient, private cdr: ChangeDetectorRef, private arrSrv: ArrayService, private msg: NzMessageService) {} + + showType: 'big' | 'small' = 'big'; + s: any = { orderby: 0, ps: 20, pi: 1, q: '' }; + loading = false; + list: any[] = []; + item: any; + path: number[] = [0]; + total = 0; + + @Input() params: any; + @Input() actions!: TemplateRef; + @Input() multiple: boolean | number = false; + @Output() readonly selected = new EventEmitter(); + + // #endregion + + // #region rename + + renameModel = false; + renameTitle = ''; + + // #endregion + + // #region move + moveModel = false; + moveId = ''; + folderNodes: any[] = []; + + ngOnInit(): void { + this.load(1); + } + + getCode(mp: string, type: 'link' | 'code'): string { + return type === 'link' ? mp : ``; + } + + // #region op + + back(): void { + this.path.pop(); + this.load(1); + } + + next(i: any): void { + this.path.push(i.id); + this.load(1); + } + + load(pi: number): void { + const data = { + ...this.s, + pi, + parent_id: this.parent_id, + ...this.params + }; + this.loading = true; + this.cdr.markForCheck(); + this.http.get('/file', data).subscribe((res: any) => { + this.loading = false; + this.list = res.list; + this.total = res.total; + this.cdr.markForCheck(); + }); + } + + cho(i: any): void { + if (i.type === 'folder') { + this.next(i); + return; + } + i.selected = !i.selected; + this.selected.emit(i); + this.cdr.detectChanges(); + } + + // #endregion + + // #region upload + + uploadData = () => { + return { + parent_id: this.parent_id + }; + }; + + uploadChange({ file }: { file: NzUploadFile }): void { + if (file.status === 'done') { + this.load(1); + } + } + rename(i: any): void { + this.renameModel = true; + this.item = i; + this.renameTitle = i.title; + } + renameOk(): void { + this.http + .post(`/file/rename`, { + id: this.item.id, + title: this.renameTitle + }) + .subscribe(() => { + this.msg.success('Success'); + this.item.title = this.renameTitle; + this.renameModel = false; + this.cdr.detectChanges(); + }); + } + move(i: any): void { + this.moveModel = true; + this.item = i; + this.moveId = i.parent_id; + this.http.get(`/file/folder`).subscribe((res: any[]) => { + res.splice(0, 0, { id: 0, title: '根目录' }); + this.folderNodes = this.arrSrv.arrToTree(res, { + cb: item => { + item.key = item.id; + if (item.id === this.moveId) { + item.disabled = true; + } + } + }); + this.cdr.detectChanges(); + }); + } + moveOk(): void { + this.http + .post(`/file/move`, { + id: this.item.id, + moveId: this.moveId + }) + .subscribe(() => { + this.msg.success('Success'); + this.moveModel = false; + this.list.splice( + this.list.findIndex(w => w.id === this.item.id), + 1 + ); + this.cdr.detectChanges(); + }); + } + // #endregion + + // #region copy + + copyImg(id: number): void { + this.http.post(`/file/copy/${id}`).subscribe((res: any) => { + this.msg.success('Success'); + this.list.push(res.item); + this.cdr.detectChanges(); + }); + } + + copyData(mp: string, type: 'link' | 'code'): void { + copy(this.getCode(mp, type)).then(() => this.msg.success('Copy Success')); + } + + // #endregion + + // #region remove + + remove(id: number, idx: number): void { + this.http.delete(`/file/${id}`).subscribe(() => { + this.msg.success('Success'); + this.list.splice(idx, 1); + this.cdr.detectChanges(); + }); + } + + // #endregion +} diff --git a/src/app/shared/components/file-manager/file-manager.module.ts b/src/app/shared/components/file-manager/file-manager.module.ts new file mode 100644 index 00000000..470b2d45 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager.module.ts @@ -0,0 +1,47 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { AlainThemeModule } from '@delon/theme'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCardModule } from 'ng-zorro-antd/card'; +import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; +import { NzGridModule } from 'ng-zorro-antd/grid'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzModalModule } from 'ng-zorro-antd/modal'; +import { NzPaginationModule } from 'ng-zorro-antd/pagination'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzSpinModule } from 'ng-zorro-antd/spin'; +import { NzTreeModule } from 'ng-zorro-antd/tree'; +import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select'; +import { NzUploadModule } from 'ng-zorro-antd/upload'; + +import { FileManagerImgComponent } from './file-manager-img.component'; +import { FileManagerImgDirective } from './file-manager-img.directive'; +import { FileManagerComponent } from './file-manager.component'; + +const COMPONENTS = [FileManagerComponent, FileManagerImgComponent, FileManagerImgDirective]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + AlainThemeModule.forChild(), + NzUploadModule, + NzButtonModule, + NzIconModule, + NzSpinModule, + NzPaginationModule, + NzDropDownModule, + NzModalModule, + NzInputModule, + NzTreeSelectModule, + NzGridModule, + NzTreeModule, + NzSelectModule, + NzCardModule + ], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class FileManagerModule {} diff --git a/src/app/shared/components/file-manager/index.en-US.md b/src/app/shared/components/file-manager/index.en-US.md new file mode 100644 index 00000000..9573a55b --- /dev/null +++ b/src/app/shared/components/file-manager/index.en-US.md @@ -0,0 +1,50 @@ +--- +order: 70 +title: file-manager +type: Component +--- + +File manager, [DEMO](https://preview.ng-alain.com/pro/#/sys/file-manager). + +## API + +### file-manager + +| Property | Description | Type | Default | +| ------------ | ------------------------------------------- | ------------------- | ------- | +| `[params]` | Extra QueryString request parameter | `any` | - | +| `[actions]` | Custom action template | `TemplateRef` | - | +| `[multiple]` | Whether to mulitple, or specified number | `boolean, number` | `false` | +| `(selected)` | Resource selected event, not include folder | `EventEmitter` | - | + +### dialog-img + +`dialog-img` is modal dialog based on the `file-manager` component, [DEMO](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001). + +| Property | Description | Type | Default | +| ------------ | ------------------------------------------- | ------------------- | ------- | +| `[multiple]` | Whether to mulitple, or specified number | `boolean, number` | `false` | +| `[field]` | Specify to return a field data | `string` | - | +| `(selected)` | Resource selected event, not include folder | `EventEmitter` | - | + +**DEMO** + +You can only chooses 5 at most, trigger the `cho` event after confirmation. + +```html + +``` + +## sf widget + +Widget name: `img`. + +### ui + +| Property | Description | Type | Default | +|--------------|---------------------------------------------|------------------------|---------| +| `[multiple]` | Whether to mulitple, or specified number | `boolean, number` | `false` | +| `(selected)` | Resource selected event, not include folder | `(value: any) => void` | - | diff --git a/src/app/shared/components/file-manager/index.ts b/src/app/shared/components/file-manager/index.ts new file mode 100644 index 00000000..32c520be --- /dev/null +++ b/src/app/shared/components/file-manager/index.ts @@ -0,0 +1,4 @@ +export * from './file-manager.component'; +export * from './file-manager-img.component'; +export * from './file-manager-img.directive'; +export * from './file-manager.module'; diff --git a/src/app/shared/components/file-manager/index.zh-CN.md b/src/app/shared/components/file-manager/index.zh-CN.md new file mode 100644 index 00000000..6c91183f --- /dev/null +++ b/src/app/shared/components/file-manager/index.zh-CN.md @@ -0,0 +1,50 @@ +--- +order: 70 +title: file-manager +type: Component +--- + +文件管理器,参考[示例](https://preview.ng-alain.com/pro/#/sys/file-manager)。 + +## API + +### file-manager + +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------------------ | ------------------- | ------- | +| `[params]` | 额外 QueryString 请求参数 | `any` | - | +| `[actions]` | 自定义动作 | `TemplateRef` | - | +| `[multiple]` | 是否多选,若最多 N 张 | `boolean, number` | `false` | +| `(selected)` | 当前资源选中事件,不包含文件夹 | `EventEmitter` | - | + +### dialog-img + +`dialog-img` 是在 `file-manager` 组件的基础上对话框化,参考[示例](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001)。 + +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------------------ | ------------------- | ------- | +| `[multiple]` | 是否多选,若最多 N 张 | `boolean, number` | `false` | +| `[field]` | 指定返回某字段的数据 | `string` | - | +| `(selected)` | 当前资源选中事件,不包含文件夹 | `EventEmitter` | - | + +**示例** + +最多只能选择 5 张,确认后触发 `cho` 事件。 + +```html + +``` + +## sf 小部件 + +小部件名称:`img`。 + +### ui + +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------------------ | ---------------------- | ------- | +| `[multiple]` | 是否多选,若最多 N 张 | `boolean, number` | `false` | +| `(selected)` | 当前资源选中事件,不包含文件夹 | `(value: any) => void` | - | diff --git a/src/app/shared/components/masonry/index.en-US.md b/src/app/shared/components/masonry/index.en-US.md new file mode 100644 index 00000000..d5befe95 --- /dev/null +++ b/src/app/shared/components/masonry/index.en-US.md @@ -0,0 +1,45 @@ +--- +order: 50 +title: masonry +type: Component +--- + +Based on [masonry](https://masonry.desandro.com/) grid layout, [DEMO](https://preview.ng-alain.com/pro/#/other/gallery). + +## Container structure + +```html +
    +
    + +
    +``` + +The `masonry__` prefix class styles is required part. + +## API + +| Property | Description | Type | Default | +|--------------|------------------------------------------------------|-----------|---------| +| `[masonry]` | [Options](https://masonry.desandro.com/options.html) | `any` | - | +| `[disabled]` | Whether to disable | `boolean` | `false` | diff --git a/src/app/shared/components/masonry/index.ts b/src/app/shared/components/masonry/index.ts new file mode 100644 index 00000000..b1b01c75 --- /dev/null +++ b/src/app/shared/components/masonry/index.ts @@ -0,0 +1,2 @@ +export * from './masonry.directive'; +export * from './masonry.module'; diff --git a/src/app/shared/components/masonry/index.zh-CN.md b/src/app/shared/components/masonry/index.zh-CN.md new file mode 100644 index 00000000..7843274e --- /dev/null +++ b/src/app/shared/components/masonry/index.zh-CN.md @@ -0,0 +1,32 @@ +--- +order: 50 +title: masonry +type: Component +--- + +基于 [masonry](https://masonry.desandro.com/) 瀑布流布局,参考[示例](https://preview.ng-alain.com/pro/#/other/gallery)。 + +## 容器结构 + +```html +
    +
    + +
    +``` + +其中 `masonry__` 前缀类样式是必须部分。 + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|--------------|-------------------------------------------------|-----------|---------| +| `[masonry]` | [选项](https://masonry.desandro.com/options.html) | `any` | - | +| `[disabled]` | 是否禁用 | `boolean` | `false` | diff --git a/src/app/shared/components/masonry/masonry.directive.ts b/src/app/shared/components/masonry/masonry.directive.ts new file mode 100644 index 00000000..7d697a0d --- /dev/null +++ b/src/app/shared/components/masonry/masonry.directive.ts @@ -0,0 +1,92 @@ +import { AfterViewInit, Directive, ElementRef, Input, NgZone, OnChanges, OnDestroy } from '@angular/core'; +import { BooleanInput, InputBoolean } from '@delon/util'; +import { fromEvent, Subscription } from 'rxjs'; +import { debounceTime } from 'rxjs/operators'; + +declare var Masonry: any; + +@Directive({ + selector: '[masonry]', + exportAs: 'masonryComp' +}) +export class MasonryDirective implements AfterViewInit, OnChanges, OnDestroy { + static ngAcceptInputType_disabled: BooleanInput; + + private masonry: any; + private observer?: MutationObserver; + private resize$: Subscription | null = null; + + @Input('masonry') options: any; + @Input() @InputBoolean() disabled = false; + + constructor(private el: ElementRef, private zone: NgZone) {} + + private outsideRender(cb: () => void): void { + this.zone.runOutsideAngular(() => cb()); + } + + init(): void { + this.destroy(); + this.outsideRender(() => { + this.masonry = new Masonry(this.el.nativeElement, { + originLeft: true, + transitionDuration: '0.3s', + itemSelector: '.masonry__thm', + columnWidth: '.masonry__sizer', + ...this.options + }); + }); + } + + reload(): void { + this.outsideRender(() => { + if (this.disabled) { + return; + } + this.masonry.reloadItems(); + this.masonry.layout(); + }); + } + + private destroy(): void { + this.zone.runOutsideAngular(() => { + if (this.masonry) { + this.masonry.destroy(); + } + }); + } + + private initElChange(): void { + if (this.observer || typeof MutationObserver === 'undefined') { + return; + } + this.zone.runOutsideAngular(() => { + this.observer = new MutationObserver(() => this.reload()); + this.observer.observe(this.el.nativeElement, { + childList: true, + subtree: true + }); + }); + } + + ngAfterViewInit(): void { + this.initElChange(); + this.resize$ = fromEvent(window, 'resize') + .pipe(debounceTime(50)) + .subscribe(() => this.reload()); + } + + ngOnChanges(): void { + this.init(); + } + + ngOnDestroy(): void { + this.destroy(); + if (this.observer) { + this.observer.disconnect(); + } + if (this.resize$) { + this.resize$.unsubscribe(); + } + } +} diff --git a/src/app/shared/components/masonry/masonry.module.ts b/src/app/shared/components/masonry/masonry.module.ts new file mode 100644 index 00000000..53861e92 --- /dev/null +++ b/src/app/shared/components/masonry/masonry.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { MasonryDirective } from './masonry.directive'; + +const COMPONENTS = [MasonryDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class MasonryModule {} diff --git a/src/app/shared/components/mouse-focus/index.en-US.md b/src/app/shared/components/mouse-focus/index.en-US.md new file mode 100644 index 00000000..e44614d4 --- /dev/null +++ b/src/app/shared/components/mouse-focus/index.en-US.md @@ -0,0 +1,34 @@ +--- +order: 80 +title: mouse-focus +type: Component +--- + +The focus of the mouse, Add class to focus element when mouse over it in a set of elements, Keeping last state when leaving the container. + +## DEMO + +```html + +``` + +## API + +| Property | Description | Type | Default | +| ----- | ------ | ----- | ------ | +| `[delay]` | Delay (unit: milliseconds) | `number` | `250` | +| `[itemSelector]` | Class name of element item | `string` | `li` | +| `[actionClassName]` | Class name of focus element | `string` | `active` | diff --git a/src/app/shared/components/mouse-focus/index.ts b/src/app/shared/components/mouse-focus/index.ts new file mode 100644 index 00000000..b1f298a4 --- /dev/null +++ b/src/app/shared/components/mouse-focus/index.ts @@ -0,0 +1,2 @@ +export * from './mouse-focus.directive'; +export * from './mouse-focus.module'; diff --git a/src/app/shared/components/mouse-focus/index.zh-CN.md b/src/app/shared/components/mouse-focus/index.zh-CN.md new file mode 100644 index 00000000..04fe20de --- /dev/null +++ b/src/app/shared/components/mouse-focus/index.zh-CN.md @@ -0,0 +1,34 @@ +--- +order: 80 +title: mouse-focus +type: Component +--- + +鼠标焦点,在一组元素里鼠标移到某个元素时增加额外一个类名,当离开容器时保留最后一个状态。 + +## DEMO + +```html + +``` + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|---------------------|---------------|----------|----------| +| `[delay]` | 延迟(单位:毫秒) | `number` | `250` | +| `[itemSelector]` | 项类名 | `string` | `li` | +| `[actionClassName]` | 获得焦点时类名 | `string` | `active` | diff --git a/src/app/shared/components/mouse-focus/mouse-focus.directive.ts b/src/app/shared/components/mouse-focus/mouse-focus.directive.ts new file mode 100644 index 00000000..5c023eea --- /dev/null +++ b/src/app/shared/components/mouse-focus/mouse-focus.directive.ts @@ -0,0 +1,60 @@ +import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from '@angular/core'; +import { fromEvent, Subject } from 'rxjs'; +import { auditTime, takeUntil } from 'rxjs/operators'; + +export interface MouseFocusOptions { + delay?: number; + itemSelector?: string; + actionClassName?: string; +} + +@Directive({ + selector: `[mouseFocus]`, + exportAs: `mouseFocus` +}) +export class MouseFocusDirective implements AfterViewInit, OnDestroy { + private unsubscribe$ = new Subject(); + private _cog!: MouseFocusOptions; + private _curEl: HTMLElement | null = null; + + @Input('mouseFocus') + set config(value: MouseFocusOptions) { + this._cog = { + delay: 250, + itemSelector: 'li', + actionClassName: 'active', + ...value + }; + } + + constructor(private el: ElementRef) { + this.config = {}; + } + + ngAfterViewInit(): void { + const { el, unsubscribe$, _cog } = this; + let { _curEl } = this; + const parentEl = el.nativeElement as HTMLElement; + fromEvent(parentEl, 'mouseover') + .pipe(takeUntil(unsubscribe$), auditTime(_cog.delay!)) + .subscribe((e: Event) => { + const target = (e.target as HTMLElement).closest(_cog.itemSelector!) as HTMLElement; + if (!target || !parentEl.contains(target)) { + return; + } + + if (_curEl) { + _curEl.classList.remove(_cog.actionClassName!); + } + target.classList.add(_cog.actionClassName!); + _curEl = target; + }); + _curEl = (parentEl.querySelector(`.${_cog.actionClassName}`) as HTMLElement) || null; + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/shared/components/mouse-focus/mouse-focus.module.ts b/src/app/shared/components/mouse-focus/mouse-focus.module.ts new file mode 100644 index 00000000..54b1ff83 --- /dev/null +++ b/src/app/shared/components/mouse-focus/mouse-focus.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { MouseFocusDirective } from './mouse-focus.directive'; + +const COMPONENTS = [MouseFocusDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class MouseFocusModule {} diff --git a/src/app/shared/components/scrollbar/index.en-US.md b/src/app/shared/components/scrollbar/index.en-US.md new file mode 100644 index 00000000..7e513cd1 --- /dev/null +++ b/src/app/shared/components/scrollbar/index.en-US.md @@ -0,0 +1,24 @@ +--- +order: 40 +title: scrollbar +type: Component +--- + +Based on [perfect-scrollbar](http://utatti.github.io/perfect-scrollbar/) perfect custom scrollbar plugin, [DEMO](https://preview.ng-alain.com/pro/#/other/chat). + +## API + +| Property | Description | Type | Default | +| ----------------- | ------------------------ | ------------------- | ------- | +| `[options]` | [Options](https://github.com/utatti/perfect-scrollbar#options) | `ScrollbarOptions` | - | +| `[disabled]` | Whether to disable | `boolean` | `false` | +| `[psScrollX]` | `ps-scroll-x` event | `EventEmitter` | - | +| `[psScrollY]` | `ps-scroll-y` event | `EventEmitter` | - | +| `[psScrollUp]` | `ps-scroll-up` event | `EventEmitter` | - | +| `[psScrollDown]` | `ps-scroll-down` event | `EventEmitter` | - | +| `[psScrollLeft]` | `ps-scroll-left` event | `EventEmitter` | - | +| `[psScrollRight]` | `ps-scroll-right` event | `EventEmitter` | - | +| `[psXReachStart]` | `ps-x-reach-start` event | `EventEmitter` | - | +| `[psXReachEnd]` | `ps-x-reach-end` event | `EventEmitter` | - | +| `[psYReachStart]` | `ps-y-reach-start` event | `EventEmitter` | - | +| `[psYReachEnd]` | `ps-y-reach-end` event | `EventEmitter` | - | diff --git a/src/app/shared/components/scrollbar/index.ts b/src/app/shared/components/scrollbar/index.ts new file mode 100644 index 00000000..5be9f568 --- /dev/null +++ b/src/app/shared/components/scrollbar/index.ts @@ -0,0 +1,3 @@ +export * from './scrollbar.directive'; +export * from './scrollbar.interface'; +export * from './scrollbar.module'; diff --git a/src/app/shared/components/scrollbar/index.zh-CN.md b/src/app/shared/components/scrollbar/index.zh-CN.md new file mode 100644 index 00000000..e2caa201 --- /dev/null +++ b/src/app/shared/components/scrollbar/index.zh-CN.md @@ -0,0 +1,24 @@ +--- +order: 40 +title: scrollbar +type: Component +--- + +基于 [perfect-scrollbar](http://utatti.github.io/perfect-scrollbar/) 自定义滚动条插件,参考[示例](https://preview.ng-alain.com/pro/#/other/chat)。 + +## API + +| 参数 | 说明 | 类型 | 默认值 | +| ----- | ------ | ----- | ------ | +| `[options]` | [选项](https://github.com/utatti/perfect-scrollbar#options) | `ScrollbarOptions` | - | +| `[disabled]` | 是否禁用 | `boolean` | `false` | +| `[psScrollX]` | `ps-scroll-x` 事件 | `EventEmitter` | - | +| `[psScrollY]` | `ps-scroll-y` 事件 | `EventEmitter` | - | +| `[psScrollUp]` | `ps-scroll-up` 事件 | `EventEmitter` | - | +| `[psScrollDown]` | `ps-scroll-down` 事件 | `EventEmitter` | - | +| `[psScrollLeft]` | `ps-scroll-left` 事件 | `EventEmitter` | - | +| `[psScrollRight]` | `ps-scroll-right` 事件 | `EventEmitter` | - | +| `[psXReachStart]` | `ps-x-reach-start` 事件 | `EventEmitter` | - | +| `[psXReachEnd]` | `ps-x-reach-end` 事件 | `EventEmitter` | - | +| `[psYReachStart]` | `ps-y-reach-start` 事件 | `EventEmitter` | - | +| `[psYReachEnd]` | `ps-y-reach-end` 事件 | `EventEmitter` | - | diff --git a/src/app/shared/components/scrollbar/scrollbar.directive.ts b/src/app/shared/components/scrollbar/scrollbar.directive.ts new file mode 100644 index 00000000..2b4e99db --- /dev/null +++ b/src/app/shared/components/scrollbar/scrollbar.directive.ts @@ -0,0 +1,115 @@ +import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output } from '@angular/core'; +import { toBoolean } from '@delon/util'; +import PerfectScrollbar from 'perfect-scrollbar'; +import { fromEvent, Subject } from 'rxjs'; +import { debounceTime, takeUntil } from 'rxjs/operators'; + +import { PerfectScrollbarEvent, PerfectScrollbarEvents, ScrollbarOptions } from './scrollbar.interface'; + +@Directive({ + selector: '[scrollbar]', + exportAs: 'scrollbarComp' +}) +export class ScrollbarDirective implements AfterViewInit, OnDestroy { + static ngAcceptInputType_options: ScrollbarOptions | string | null | undefined; + + private instance: PerfectScrollbar | null = null; + private readonly ngDestroy: Subject = new Subject(); + private _disabled = false; + + // #region fields + + @Input('scrollbar') options?: ScrollbarOptions; + + @Input() + set disabled(value: boolean) { + this._disabled = toBoolean(value)!; + if (this._disabled) { + this.ngOnDestroy(); + } else { + this.init(); + } + } + + @Output() readonly psScrollX: EventEmitter = new EventEmitter(); + @Output() readonly psScrollY: EventEmitter = new EventEmitter(); + + @Output() readonly psScrollUp: EventEmitter = new EventEmitter(); + @Output() readonly psScrollDown: EventEmitter = new EventEmitter(); + @Output() readonly psScrollLeft: EventEmitter = new EventEmitter(); + @Output() readonly psScrollRight: EventEmitter = new EventEmitter(); + + @Output() readonly psXReachStart: EventEmitter = new EventEmitter(); + @Output() readonly psXReachEnd: EventEmitter = new EventEmitter(); + @Output() readonly psYReachStart: EventEmitter = new EventEmitter(); + @Output() readonly psYReachEnd: EventEmitter = new EventEmitter(); + + // #endregion + + scrollToBottom(): void { + this.el.scrollTop = this.el.scrollHeight - this.el.clientHeight; + } + + scrollToTop(): void { + this.el.scrollTop = 0; + } + + scrollToLeft(): void { + this.el.scrollLeft = 0; + } + + scrollToRight(): void { + this.el.scrollLeft = this.el.scrollWidth - this.el.clientWidth; + } + + constructor(private elRef: ElementRef, private zone: NgZone) {} + + private get el(): HTMLElement { + return this.elRef.nativeElement as HTMLElement; + } + + private init(): void { + this.zone.runOutsideAngular(() => { + const options = { + wheelSpeed: 0.5, + swipeEasing: true, + wheelPropagation: false, + minScrollbarLength: 40, + maxScrollbarLength: 300, + ...this.options + }; + setTimeout(() => { + if (this._disabled) { + return; + } + + this.instance = new PerfectScrollbar(this.el, options); + + PerfectScrollbarEvents.forEach((eventName: PerfectScrollbarEvent) => { + const eventType = eventName.replace(/([A-Z])/g, c => `-${c.toLowerCase()}`); + + fromEvent(this.el, eventType) + .pipe(debounceTime(20), takeUntil(this.ngDestroy)) + .subscribe((event: Event) => { + this[eventName].emit(event); + }); + }); + }, this.options?.delay || 0); + }); + } + + ngAfterViewInit(): void { + this.init(); + } + + ngOnDestroy(): void { + this.ngDestroy.next(); + this.ngDestroy.complete(); + this.zone.runOutsideAngular(() => { + if (this.instance) { + this.instance.destroy(); + } + this.instance = null; + }); + } +} diff --git a/src/app/shared/components/scrollbar/scrollbar.interface.ts b/src/app/shared/components/scrollbar/scrollbar.interface.ts new file mode 100644 index 00000000..e7e74d51 --- /dev/null +++ b/src/app/shared/components/scrollbar/scrollbar.interface.ts @@ -0,0 +1,35 @@ +import PerfectScrollbar from 'perfect-scrollbar'; + +export interface ScrollbarOptions extends PerfectScrollbar.Options { + /** + * 延迟初始化 + */ + delay?: number; +} + +export type PerfectScrollbarEvent = + | 'psScrollY' + | 'psScrollX' + | 'psScrollUp' + | 'psScrollDown' + | 'psScrollLeft' + | 'psScrollRight' + | 'psYReachEnd' + | 'psYReachStart' + | 'psXReachEnd' + | 'psXReachStart'; + +export const PerfectScrollbarEvents: PerfectScrollbarEvent[] = [ + 'psScrollY', + 'psScrollX', + + 'psScrollUp', + 'psScrollDown', + 'psScrollLeft', + 'psScrollRight', + + 'psYReachEnd', + 'psYReachStart', + 'psXReachEnd', + 'psXReachStart' +]; diff --git a/src/app/shared/components/scrollbar/scrollbar.module.ts b/src/app/shared/components/scrollbar/scrollbar.module.ts new file mode 100644 index 00000000..79627bf7 --- /dev/null +++ b/src/app/shared/components/scrollbar/scrollbar.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { ScrollbarDirective } from './scrollbar.directive'; + +const COMPONENTS = [ScrollbarDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class ScrollbarModule {} diff --git a/src/app/shared/components/status-label/index.en-US.md b/src/app/shared/components/status-label/index.en-US.md new file mode 100644 index 00000000..51d3db19 --- /dev/null +++ b/src/app/shared/components/status-label/index.en-US.md @@ -0,0 +1,23 @@ +--- +order: 10 +title: status-label +type: Component +--- + +Status label, [DEMO](https://preview.ng-alain.com/ms/#/dns/domain)。 + +## DEMO + +```html +Normal + + +``` + +## API + +| Property | Description | Type | Default | +| -------- | --------------------------------------- | ----------------------- | --------- | +| `[type]` | Type of status label | `success,error,warning` | `success` | +| `[icon]` | Whether show icon | `boolean` | `true` | +| `[text]` | Text of status label, or `[ng-content]` | `string` | - | diff --git a/src/app/shared/components/status-label/index.ts b/src/app/shared/components/status-label/index.ts new file mode 100644 index 00000000..d7143225 --- /dev/null +++ b/src/app/shared/components/status-label/index.ts @@ -0,0 +1,2 @@ +export * from './status-label.component'; +export * from './status-label.module'; diff --git a/src/app/shared/components/status-label/index.zh-CN.md b/src/app/shared/components/status-label/index.zh-CN.md new file mode 100644 index 00000000..47e99263 --- /dev/null +++ b/src/app/shared/components/status-label/index.zh-CN.md @@ -0,0 +1,23 @@ +--- +order: 10 +title: status-label +type: Component +--- + +状态标签,参考[示例](https://preview.ng-alain.com/ms/#/dns/domain)。 + +## DEMO + +```html +Normal + + +``` + +## API + +| 参数 | 说明 | 类型 | 默认值 | +| -------- | ----------------------- | ----------------------- | --------- | +| `[type]` | 类型 | `success,error,warning` | `success` | +| `[icon]` | 是否显示图标 | `boolean` | `true` | +| `[text]` | 文本,或 `[ng-content]` | `string` | - | diff --git a/src/app/shared/components/status-label/status-label.component.ts b/src/app/shared/components/status-label/status-label.component.ts new file mode 100644 index 00000000..4af8f0ce --- /dev/null +++ b/src/app/shared/components/status-label/status-label.component.ts @@ -0,0 +1,55 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges } from '@angular/core'; +import { BooleanInput, InputBoolean } from '@delon/util'; + +@Component({ + selector: 'status-label, [status-label]', + template: ` + + {{ text }} + + `, + host: { + '[class.text-success]': `_t=='success'`, + '[class.text-error]': `_t=='error'`, + '[class.text-orange]': `_t=='warning'` + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class StatusLabelComponent implements OnChanges { + static ngAcceptInputType_icon: BooleanInput; + + _t?: string; + + iconType!: string; + + @Input() + set type(v: 'success' | 'error' | 'warning') { + let iconType: string; + switch (v) { + case 'success': + iconType = 'check-circle'; + break; + case 'error': + iconType = 'close-circle'; + break; + case 'warning': + default: + iconType = 'exclamation-circle'; + break; + } + this._t = v; + this.iconType = iconType; + } + + @Input() @InputBoolean() icon = true; + + @Input() text?: string; + + constructor(private cdr: ChangeDetectorRef) { + this.type = 'success'; + } + + ngOnChanges(): void { + this.cdr.detectChanges(); + } +} diff --git a/src/app/shared/components/status-label/status-label.module.ts b/src/app/shared/components/status-label/status-label.module.ts new file mode 100644 index 00000000..743a9eab --- /dev/null +++ b/src/app/shared/components/status-label/status-label.module.ts @@ -0,0 +1,14 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { NzIconModule } from 'ng-zorro-antd/icon'; + +import { StatusLabelComponent } from './status-label.component'; + +const COMPONENTS = [StatusLabelComponent]; + +@NgModule({ + imports: [CommonModule, NzIconModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class StatusLabelModule {} diff --git a/src/app/shared/index.ts b/src/app/shared/index.ts new file mode 100644 index 00000000..86cfaf5c --- /dev/null +++ b/src/app/shared/index.ts @@ -0,0 +1,15 @@ +// Modules +export * from './components/delay/index'; +export * from './components/editor/index'; +export * from './components/file-manager/index'; +export * from './components/masonry/index'; +export * from './components/mouse-focus/index'; +export * from './components/status-label/index'; +export * from './components/scrollbar/index'; +export * from './components/address/index'; + +// Utils +export * from './utils/yuan'; + +// Module +export * from './shared.module'; diff --git a/src/app/shared/interfaces/api/i-api-response.i.ts b/src/app/shared/interfaces/api/i-api-response.i.ts new file mode 100644 index 00000000..f6931e4c --- /dev/null +++ b/src/app/shared/interfaces/api/i-api-response.i.ts @@ -0,0 +1,7 @@ +export interface IApiResponse { + success?: boolean; + msg?: string; + status?: number; + state?: number; + data?: any; +} diff --git a/src/app/shared/interfaces/core/i-base.i.ts b/src/app/shared/interfaces/core/i-base.i.ts new file mode 100644 index 00000000..1b32f151 --- /dev/null +++ b/src/app/shared/interfaces/core/i-base.i.ts @@ -0,0 +1,26 @@ +import { Observable } from 'rxjs'; +export interface IBase { + // 增 + addOne(params: any, url: string): Observable; + asyncAddOne(params: any, url: string): Promise; + addMany(params: any[], url: string): Observable; + asyncAddMany(params: any[], url: string): Promise; + + // 删 + delOne(params: any, url: string): Observable; + asyncDelOne(params: any, url: string): Promise; + delMany(params: any[], url: string): Observable; + asyncDelMany(params: any[], url: string): Promise; + + // 改 + updateOne(params: any, url: string): Observable; + asyncUpdateOne(params: any, url: string): Promise; + updateMany(params: any[], url: string): Observable; + asyncUpdateMany(params: any[], url: string): Promise; + + // 查 + getOne(params: any, url: string): Observable; + asyncGetOne(params: any, url: string): Promise; + getMany(params: any, url: string): Observable; + asyncGetMany(params: any, url: string): Promise; +} diff --git a/src/app/shared/interfaces/core/i-cache-obj.ts b/src/app/shared/interfaces/core/i-cache-obj.ts new file mode 100644 index 00000000..55ba6961 --- /dev/null +++ b/src/app/shared/interfaces/core/i-cache-obj.ts @@ -0,0 +1,44 @@ +/* + * .::::. + * .::::::::. + * ::::::::::: + * ..:::::::::::' + * '::::::::::::' + * .:::::::::: + * '::::::::::::::.. + * ..::::::::::::. + * ``:::::::::::::::: + * ::::``:::::::::' .:::. + * ::::' ':::::' .::::::::. + * .::::' :::: .:::::::'::::. + * .:::' ::::: .:::::::::' ':::::. + * .::' :::::.:::::::::' ':::::. + * .::' ::::::::::::::' ``::::. + * ...::: ::::::::::::' ``::. + * ````':. ':::::::::' ::::.. + * '.:::::' ':'````.. + * + * @Author: Maple + * @Date: 2021-06-10 16:04:50 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-11 10:15:26 + * @Description: 缓存数据对象 + */ +export interface ICacheObj { + /** + * 生产日期 + */ + pd: number; + /** + * 缓存数据 + */ + data: any; + /** + * 有效时间 + */ + vld?: number; + /** + * 是否加密 + */ + encrypt?: boolean; +} diff --git a/src/app/shared/interfaces/index.ts b/src/app/shared/interfaces/index.ts new file mode 100644 index 00000000..40e011fe --- /dev/null +++ b/src/app/shared/interfaces/index.ts @@ -0,0 +1,6 @@ +// Api +export * from './api/i-api-response.i'; + +// Core +export * from './core/i-base.i'; +export * from './core/i-cache-obj'; diff --git a/src/app/shared/services/business/account.service.ts b/src/app/shared/services/business/account.service.ts new file mode 100644 index 00000000..fc461324 --- /dev/null +++ b/src/app/shared/services/business/account.service.ts @@ -0,0 +1,112 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 11:22:02 + * @Description: 全局账号服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { CoreService, StartupService } from '@core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { BaseService } from '../core/base.service'; +@Injectable({ + providedIn: 'root', +}) +export class EAAccountService extends BaseService { + // 验证码登录 + public $api_login_by_captcha = `/scm/cuc/cuc/user/sms/login?_allow_anonymous=true`; + // 账号密码登录 + public $api_login_by_account = `/scm/cuc/cuc/user/login?_allow_anonymous=true`; + // 退出登录 + public $api_logout = `/chia/user/logout`; + + constructor(public injector: Injector) { + super(injector); + } + + // 注入核心服务 + private get coreSrv(): CoreService { + return this.injector.get(CoreService); + } + + // 注入路由 + private get router(): Router { + return this.injector.get(Router); + } + + // 注入路由复用服务 + private get reuseTabService(): ReuseTabService { + return this.injector.get(ReuseTabService); + } + // 注入全局启动服务 + private get startSrv(): StartupService { + return this.injector.get(StartupService); + } + + // 登录状态 + public get loginStatus(): boolean { + return this.coreSrv.loginStatus; + } + + /** + * 账号密码登录 + * @param username 登录账号 + * @param password 登录密码 + */ + loginByAccount(username: string, password: string): void { + this.asyncRequest(this.$api_login_by_account, { username, password, type: 0 }, 'POST', true, 'FORM').then((res) => { + console.log(res); + this.doAfterLogin(res); + }); + } + + /** + * 短信验证码登录 + * @param phone 手机号码 + * @param smsCode 短信验证码 + */ + loginByCaptcha(phone: string, smsCode: string): void { + this.asyncRequest(this.$api_login_by_captcha, { phone, smsCode }, 'POST', true, 'FORM').then((res) => { + this.doAfterLogin(res); + }); + } + + private doAfterLogin(res: any): void { + const token = res?.token; + if (token) { + // 清空路由复用信息 + this.reuseTabService.clear(); + + // 设置用户Token信息 + // TODO: Mock expired value + // res.user.expired = +new Date() + 1000 * 60 * 5; + this.coreSrv.tokenSrv.set({ token }); + // 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响 + this.startSrv.load().then(() => { + let url = this.coreSrv.tokenSrv.referrer!.url || '/'; + if (url.includes('/passport')) { + url = '/'; + } + this.router.navigateByUrl(url); + }); + } + } + + /** + * 登出系统 + * @param showMsg 是否显示登录过期弹窗 + */ + logout(showMsg: boolean): void { + this.coreSrv.logout(showMsg); + } + + /** + * 向服务器请求登出 + */ + requestLogout(): void { + this.asyncRequest(this.$api_logout).finally(() => { + this.logout(false); + }); + } +} diff --git a/src/app/shared/services/business/authorization.service.ts b/src/app/shared/services/business/authorization.service.ts new file mode 100644 index 00000000..c23cdb35 --- /dev/null +++ b/src/app/shared/services/business/authorization.service.ts @@ -0,0 +1,88 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-17 14:58:35 + * @Description: 全局权限服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { cacheConf } from '@conf/cache.conf'; +import { StartupService } from '@core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; +import { Observable, of } from 'rxjs'; +import { tap } from 'rxjs/operators'; +import { BaseService } from '../core/base.service'; +import { EACacheService } from '../core/cache.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAAuthorizationService extends BaseService { + // 获取我的角色 + public $api_get_my_roles = `/chia/roleInfo/getMyRoleList`; + + constructor(public injector: Injector) { + super(injector); + } + + // 注入路由 + private get router(): Router { + return this.injector.get(Router); + } + // 注入缓存服务 + private get cacheSrv(): EACacheService { + return this.injector.get(EACacheService); + } + // 注入令牌服务 + private get tokenSrv(): ITokenService { + return this.injector.get(DA_SERVICE_TOKEN); + } + // 注入路由复用服务 + private get reuseTabService(): ReuseTabService { + return this.injector.get(ReuseTabService); + } + // 注入全局启动服务 + private get startSrv(): StartupService { + return this.injector.get(StartupService); + } + // 注入全局设置服务 + private get settingSrv(): SettingsService { + return this.injector.get(SettingsService); + } + + /** + * 获取角色列表 + * @param force 强制刷新 默认值:false + * @returns 角色列表, 类型 Array | Observable> + */ + getMyRoles(force: boolean = false): Observable> { + // 强制刷新 + if (force) { + return this.refreshRoles(); + } + + // 从缓存中提取角色 + const roles = this.cacheSrv.get(cacheConf.role) || []; + + // 当缓存中不存在角色时,尝试从服务器拉取角色数据 + if (roles.length > 0) { + return of(roles); + } + + return this.refreshRoles(); + } + + /** + * 刷新角色权限 + */ + private refreshRoles(): Observable> { + return this.request(this.$api_get_my_roles).pipe( + tap((res) => { + this.cacheSrv.set(cacheConf.role, res); + }), + ); + } +} diff --git a/src/app/shared/services/business/captcha.service.ts b/src/app/shared/services/business/captcha.service.ts new file mode 100644 index 00000000..72d31eb9 --- /dev/null +++ b/src/app/shared/services/business/captcha.service.ts @@ -0,0 +1,76 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-29 14:45:43 + * @Description: 全局验证码服务 + */ +import { ComponentRef, Injectable, Injector } from '@angular/core'; +import { Observable, Subject } from 'rxjs'; +import { BaseService } from '../core/base.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EACaptchaService extends BaseService { + // 通过手机号发送短信验证码 + private $api_send_sms_by_mobile = `/scm/sms/sms/verification/getSMVerificationCode?_allow_anonymous=true&_allow_badcode=true`; + + // 验证手机号为平台用户后发送短信验证码 + private $api_send_sms__by_validate_mobile = `/chiauserBasicInfo/forgetPassword/getAccountSMVerificationCode`; + + // 滑块验证码获取短信 + $api_dun_sms = `/scce/pbc/pbc/verification/verificationSlider?_allow_anonymous=true&_allow_badcode=true`; + + // 根据当前登录用户绑定的手机号码获取短信验证码 + $api_captcha_sms_code = `/scce/pbc/pbc/verification/getSMVerificationCodeByToken`; + + // 获取应用租户的管理员用户发送验证码 + $api_getAppLesseeAdminSMVerificationCode = `/chiauserBasicInfo/getAppLesseeAdminSMVerificationCode`; + + /** + * 根据当前登录用户绑定的手机号码获取短信验证码 + */ + getCaptchaBySMSNoPhone(): Observable { + return this.request(this.$api_captcha_sms_code, { appId: this.envSrv.getEnvironment().appId }, 'POST', true, 'FORM'); + } + /** + * 获取应用租户的管理员用户发送验证码 + */ + getAppLesseeAdminSMVerificationCode(): Observable { + return this.request(this.$api_getAppLesseeAdminSMVerificationCode, { appId: this.envSrv.getEnvironment().appId }, 'POST', true, 'FORM'); + } + constructor(public injector: Injector) { + super(injector); + } + + /** + * 发送短信验证码 + * @param mobile 手机号码 + */ + sendSMSCaptchaByMobile(mobile: string): Observable { + return this.request( + this.$api_send_sms_by_mobile, + { appId: this.envSrv.getEnvironment()?.appId, phoneNumber: mobile }, + 'POST', + true, + 'FORM', + ); + } + + /** + * 滑块验证获取短信码 + * @param tel 手机号 + * @param validate 滑动验证通过字符串 + * @param url api地址 + */ + getCaptchaByDun(mobile: string, validate: string, url?: string): Observable { + return this.request( + url || this.$api_dun_sms, + { appId: this.envSrv.getEnvironment()?.appId, phoneNumber: mobile, user: mobile, validate }, + 'POST', + true, + 'FORM', + ); + } +} diff --git a/src/app/shared/services/business/enterprise.service.ts b/src/app/shared/services/business/enterprise.service.ts new file mode 100644 index 00000000..43774b06 --- /dev/null +++ b/src/app/shared/services/business/enterprise.service.ts @@ -0,0 +1,125 @@ +import { Injectable, Injector } from '@angular/core'; +import { cacheConf } from '@conf/cache.conf'; +import { Observable } from 'rxjs'; +import { tap } from 'rxjs/operators'; +import { BaseService } from '../core/base.service'; +import { EACacheService } from '../core/cache.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAEnterpriseService extends BaseService { + // 获取当前用户绑定的分销商/代理商/供应商 + public $api_get_my_enterprises = `/chia/enterpriseInfo/list/queryMyAppInfo`; + + // 向服务器变更默认企业 + public $api_selectEnterprise = '/chia/userApp/selectEnterprise'; + constructor(public injector: Injector) { + super(injector); + } + + // 注入缓存服务 + private get cacheSrv(): EACacheService { + return this.injector.get(EACacheService); + } + + /** + * 加载企业信息 + */ + loadEnterpises(): Observable { + return this.request(this.$api_get_my_enterprises); + } + + /** + * 根据租户ID获取指定的企业 + * @param tenantId 租户ID + */ + getOne(tenantId: string): any { + const enterprises = this.getAll(); + return enterprises.find((r) => r.tenantId === tenantId); + } + + /** + * 获取所有企业 + */ + getAll(): Array { + return this.cacheSrv.get(cacheConf.enterprise) || []; + } + + /** + * 获取默认企业 + */ + getDefault(): any { + const list = this.getAll(); + return list.find((r) => r.defaultState) || list[0] || null; + } + + /** + * 设置默认企业 + */ + setDefault(tenantId: string): void { + // 获取指定tenantId的企业 + const enterprise = this.getOne(tenantId); + if (enterprise) { + let enterpriseList = this.getAll(); + + // 设置指定tenantId的企业为默认企业,其他的企业为非默认企业 + enterpriseList = enterpriseList.map((m) => { + if (m.tenantId === enterprise.tenantId) { + m.defaultState = true; + } else { + m.defaultState = false; + } + return m; + }); + // 重新缓存新的企业列表 + this.setCache(enterpriseList); + + // 广播当前环境信息 + this.envSrv.setEnvironment(enterprise.appId, enterprise.tenantId); + } + } + + /** + * 设置缓存企业信息 + * @param enterpriseData 企业信息信息 + */ + setCache(enterpriseData: any): void { + this.cacheSrv.set(cacheConf.enterprise, enterpriseData); + } + + /** + * 选择企业 + * @param item 企业实体 + * 选择企业进入管理后台 + * 1. 判断当前企业是否被冻结,如企业为冻结状态,则toast提示“供应商已被冻结,无法访问,请联系客服处理” + * 2. 向服务器请求变更当前企业身份 + * 3. 服务器变更当前企业后,刷新本地缓存中的企业信息 + * 4. 跳转到管理后台首页 + */ + changeDefaultEnterprise(item: any): Observable { + // 1. 判断冻结状态 + // if (item.stateLocked) { + // this.msgSrv.warning('代理商已被冻结,无法访问,请联系客服处理'); + // return of(false); + // } + // 2.判断用户状态userStatus:0-正常,1-冻结,2-废弃 + // if (item.userStatus === 1) { + // this.msgSrv.warning('您的帐号已被企业冻结,无法访问,请联系客服处理'); + // return of(false); + // } + // if (item.userStatus === 2) { + // this.msgSrv.warning('您的帐号已被企业废弃,无法访问,请联系客服处理'); + // return of(false); + // } + // 3. 向服务器请求变更当前企业身份 + return this.request(this.$api_selectEnterprise, { tenantId: item.tenantId }).pipe( + tap((data) => { + if (data) { + // 切换成功则广播当前环境信息 + this.envSrv.setEnvironment(item.appId, item.tenantId); + } + }), + ); + } +} diff --git a/src/app/shared/services/business/sl-platform.service.ts b/src/app/shared/services/business/sl-platform.service.ts new file mode 100644 index 00000000..10b74cd1 --- /dev/null +++ b/src/app/shared/services/business/sl-platform.service.ts @@ -0,0 +1,306 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 11:07:18 + * @Description: 全局系统服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Observable, zip } from 'rxjs'; +import { catchError, switchMap } from 'rxjs/operators'; +import { CoreService } from 'src/app/core/core.service'; +import { EAEncryptUtil } from '../../utils'; +import { BaseService } from '../core/base.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAPlatformService extends BaseService { + public $api_update_platform_name = `/chia/operationInfo/updatePlatformName`; // 修改当前登录平台名称 + + /** + * 判断是否已经设置平台名称 + */ + private $api_is_set_platform_name = `/chia/operationInfo/judgeSetPlatformName`; + /** + * 获取当前登录用户绑定的运营商有效期 + */ + private $api_get_validity_period_of_operator = `/chia/operationInfo/getOperationDetailByToken`; + + /** + * 缓存平台状态键名 + */ + private _cachePlatformStatusKey = '_cpsk'; + /** + * 运营商剩余有效期 + */ + private _validityPeriodOfOperator: Observable | null = null; + /** + * 允许运营商超出有效期时登录 + */ + private _allowLoginBeyondValidity = true; + /** + * 获取基础配置 + */ + // public $api_get_config = `/scce/pbc/pbc/baseConfig/getBaseConfigList?_allow_anonymous=true`; + constructor(public injector: Injector) { + super(injector); + } + + // 注入核心服务 + private get coreSrv(): CoreService { + return this.injector.get(CoreService); + } + + /** + * 获取平台状态(参考Http状态码) + * 200:平台状态正常 + * 401: 未设置平台名称 + * 403 + */ + getPlatformStatus(): number { + const encryptStatus = this.coreSrv.cacheSrv.getNone(this._cachePlatformStatusKey); + try { + const status = EAEncryptUtil.deencryptByDeAES(encryptStatus); + return +status; + } catch (error) { + return 0; + } + } + + /** + * 获取当前运营商剩余有效期 + * @returns 有效期天数 + */ + getValidityPeriodOfOperator(): Observable { + return this.loadValidityPeriodOfOperator(); + } + + /** + * 加载平台状态 + * + * @returns 平台状态码 + */ + loadPlatformStatus(): Promise { + return new Promise((resolve) => { + zip(this.loadIsSetPlatformName(), this.loadValidityPeriodOfOperator()) + .pipe( + catchError((res) => { + console.error(`加载平台状态时发生错误:`, res); + this.msgSrv.error(`加载平台状态时发生错误!`); + resolve(); + return []; + }), + ) + .subscribe( + ([nameStauts, validityPeriod]) => this.setPlatformStatus(nameStauts, validityPeriod), + () => {}, + () => resolve(), + ); + }); + } + + /** + * 获取平台名称设置状态 + * @param nameStatus 平台名称设置状态 + * @param validityPeriod 运营剩余有效期天数 + */ + setPlatformStatus(nameStatus: boolean, validityPeriod: number) { + let status = 0; + // 判断平台名称 + if (status !== 200) { + status = nameStatus ? 200 : 401; + } + + // 判断运营商有效期 + if (!this._allowLoginBeyondValidity && status === 200) { + status = validityPeriod > 0 ? 200 : 402; + } + + // 加密并保存平台状态 + const ciphertext = EAEncryptUtil.encryptByEnAES(status.toString()); + this.coreSrv.cacheSrv.set(this._cachePlatformStatusKey, ciphertext); + } + + /** + * 获取平台是否设置平台名称 + * @returns true | false + */ + private loadIsSetPlatformName(): Observable { + return this.request(this.$api_is_set_platform_name).pipe(switchMap(async (sm) => sm === true)); + } + + /** + * 获取当前账户绑定的运营商有效期 + * @returns 有效期时间(天) + */ + private loadValidityPeriodOfOperator(): Observable { + return this.request(this.$api_get_validity_period_of_operator); + } + + /** + * 获取指定平台的地址 + * @param platformName 平台名称 + * @param hasOperationCode 是否需要运营商代码 + */ + getPlatfomrUrl(platformName: string, hasOperationCode = true) { + const url: string = this.getAllPlatformUrls().find((r: any) => r.name === platformName)?.url || ''; + if (hasOperationCode) { + return url; + } + + return url.includes('?') ? url.substring(0, url.indexOf('?')) : url; + } + + /** + * 获取所有平台的地址 + */ + getAllPlatformUrls() { + let platforms: any = []; + const sc = this.coreSrv.tokenSrv.get()?.sc; + const protocol = window.location.protocol; + const hostname = window.location.hostname; + const port = window.location.port; + switch (hostname) { + case 'localhost': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}:8001/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//localhost:8005/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//localhost:8004/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//localhost:8003/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//localhost:8002/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows-test.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows-pre.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows-demo.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + } + return platforms; + } + + /** + * 获取运营商代码 + * @returns 运营商代码 + */ + getOperatorCode() { + return this.coreSrv.tokenSrv.get()?.sc || this.coreSrv.settingSrv.getData('app')?.v || ''; + } + + /** + * 获取平台配置信息列表 + */ + // getPlatformConfigurationList(): Observable> { + // return this.request(this.$api_get_config, { + // pageIndex: 1, + // pageSize: 999, + // }); + // } +} diff --git a/src/app/shared/services/business/user.service.ts b/src/app/shared/services/business/user.service.ts new file mode 100644 index 00000000..d6247d3a --- /dev/null +++ b/src/app/shared/services/business/user.service.ts @@ -0,0 +1,204 @@ +/* + * @Description: + * @Author: wsm + * @Date: 2021-06-22 10:25:33 + * @LastEditTime: 2021-06-23 20:25:05 + * @LastEditors: Do not edit + * @Reference: + */ +import { Inject, Injectable, Injector } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { cacheConf } from '@conf/cache.conf'; +import { eventConf } from '@conf/event.conf'; +import { sysConf } from '@conf/sys.conf'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { BaseService } from '../core/base.service'; +import { EACacheService } from '../core/cache.service'; +import { EAEventService } from '../core/event.service'; +@Injectable({ + providedIn: 'root', +}) +export class EAUserService extends BaseService { + /** + * 账号密码登录 + */ + $api_login_by_account = `/scce/cuc/cuc/user/login?_allow_anonymous=true`; + /** + * 手机号登录 + */ + $api_login_by_mobile = `/scce/cuc/cuc/user/sms/login?_allow_anonymous=true`; + // 登录路径 + private $api_login = `/scce/cuc/cuc/user/login?_allow_anonymous=true`; + private $api_captcha_login = `/scce/cuc/cuc/user/sms/login?_allow_anonymous=true`; + private $api_register: any = ``; + // 获取协议信息 + public $api_get_agreement_info = `/scce/pbc/pbc/agreementInfo/getAgreementInfoByType?_allow_anonymous=true`; + // 未登录验证身份 + public $forgetPasswordVerifyIdentity = `/scm/cuc/cuc/userBasicInfo/forgetPassword/verifyIdentity?_allow_anonymous=true`; + // 未登录账号发送验证码 + public $getAccountSMVerificationCode = `/scm/cuc/cuc/userBasicInfo/forgetPassword/getAccountSMVerificationCode?_allow_anonymous=true`; + // 未设置密码的用户设置用户密码 + public $api_set_password = `/scce/cuc/cuc/userBasicInfo/setPassword`; + // 凭证修改密码 + public $voucherUpdatePassword = `/scm/cuc/cuc/userBasicInfo/forgetPassword/voucherUpdatePassword?_allow_anonymous=true`; + // 检测用户名是否存在 + public $api_validate_username_exists = `/tms/cuc/cuc/userBasicInfo/checkUserName?_allow_badcode=true`; + // 获取当前用户信息 + public $api_get_current_user = `/scce/cuc/cuc/user/getUserDetail`; + // 校验手机号是否可注册 + private $api_vaild_register: any = ``; + /** + * 登出 + */ + $api_logout = `/scce/cuc/cuc/user/logout`; + /** + * 根据Token获取用户详情 + */ + $api_get_user_by_token = `/scce/cuc/cuc/user/getUserDetail`; + /** + * 获取用户菜单 + */ + $api_get_user_menus = `/scce/cuc/cuc/functionInfo/queryUserHaveFunctionsList`; + /** + * 获取用户角色 + */ + $api_get_user_roles = `/scce/cuc/cuc/roleInfo/getMyRoleList`; + // 获取一、二、三级地区详情 + public $api_getRegionToThree = `/scce/pbc/pbc/region/getRegionToThree?_allow_anonymous=true`; + constructor( + public injector: Injector, + public cacheSrv: EACacheService, + public eventSrv: EAEventService, + public router: Router, + public ar: ActivatedRoute, + @Inject(DA_SERVICE_TOKEN) public tokenSrv: ITokenService, + private settingSrv: SettingsService, + ) { + super(injector); + } + + /** + * 登录状态 + */ + public get loginStatus(): boolean { + try { + return !!this.tokenSrv.get()?.token; + } catch (error) { + return false; + } + } + + /** + * @description 手机号登录 + * @param mobile 手机号 + * @param captcha 验证码 + */ + loginByMobile(mobile: string, captcha: string, sc: string) { + this.asyncRequest(this.$api_login_by_mobile, { phone: mobile, smsCode: captcha, sc }, 'POST', true, 'FORM').then((res) => { + if (res?.token) { + this.cacheSrv.set(cacheConf.token, res.token); + this.doAfterLogin(); + this.eventSrv.event.emit(eventConf.reflesh_login_status); + this.router.navigate([this.ar.snapshot.queryParams.returnUrl || '/']); + } + }); + } + + /** + * @description 账号密码登录 + * @param account 账号 + * @param password 密码 + */ + loginByAccount(account: string, password: string, sc: string) { + this.request(this.$api_login_by_account, { username: account, password, sc }, 'POST', true, 'FORM').subscribe((res: any) => { + if (res?.token) { + this.tokenSrv.set({ token: res.token }); + this.doAfterLogin(); + this.eventSrv.event.emit(eventConf.reflesh_login_status, this.ar.snapshot.queryParams.returnUrl || '/'); + } + }); + } + + async doAfterLogin() { + await this.loadUserInfo(); + await this.loadUserMenus(); + await this.loadUserRoles(); + } + + /** + * 加载用户信息 + */ + async loadUserInfo() { + return this.asyncRequest(this.$api_get_user_by_token).then((res) => { + this.cacheSrv.set(cacheConf.user, res); + }); + } + + /** + * 加载用户菜单 + */ + async loadUserMenus() { + return this.asyncRequest(this.$api_get_user_menus, { appId: sysConf.appId }).then((res) => { + this.cacheSrv.set(cacheConf.menu, res); + }); + } + + /** + * 加载用户角色 + */ + loadUserRoles() {} + + /** + * 登出 + */ + logout() { + this.settingSrv.setApp({}); + this.tokenSrv.clear(); + this.cacheSrv.clear(); + this.router.navigate(['/']); + } + + /** + * 用户注册 + */ + register(params: any): Observable { + const obj: any = {}; + obj.appId = sysConf.appId; + obj.masterAccount = 0; + if (params.regType === 'account') { + obj.account = params.account; + obj.loginCipher = params.loginCipher; + obj.type = 0; + } else if (params.regType === 'phone') { + obj.phone = params.phone; + obj.smsVerificationCode = params.smsVerificationCode; + obj.type = 1; + } + return this.http.post(this.$api_register, obj).pipe( + map((res: any): any => { + if (res.success === true) { + return true; + } + }), + ); + } + + /** + * 校验手机号是否可注册 + */ + checkPhoneHasRegister(params: any): Observable { + const formdata = new FormData(); + formdata.append('appId', sysConf.appId); + formdata.append('phoneNumber', params); + return this.http.post(this.$api_vaild_register, formdata).pipe( + map((res: any): any => { + if (res.success === true) { + return true; + } + }), + ); + } +} diff --git a/src/app/shared/services/core/base.service.ts b/src/app/shared/services/core/base.service.ts new file mode 100644 index 00000000..6d636413 --- /dev/null +++ b/src/app/shared/services/core/base.service.ts @@ -0,0 +1,516 @@ +/* + * @Author: Maple + * @Date: 2021-03-20 16:38:44 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-17 15:06:37 + * @Description: 全局基础服务: + * 所有实体类服务必须使用extends扩展此类 + * 几个特别的Get参数: + * 1. _allow_anonymous=true: 匿名访问,可绕开Http拦截器验证拦截 + * 使用方法: $api_xxx = `xxx?_allow_anonymous=true` + * + * 2. _allow_badcode=true: 请求坏状态,可使Http拦截放还完整的HttpResponse + * 使用方法: $api_xxx = `xxxx?_allow_badcode=true` + * + * 3. _custom_header="[{key: string, value: string}]": 自定义Header, + * 一些特殊的请求,需要额外附加特别的Header时使用 + * 使用方法: + * const headers = [{ key: xxx, value: xxx}, + * { key: xxx, value: xxxx}]; + * this.service.request( + * this.encodeUrlHeader( + * this.service.$api_xxx, headers)) + * + */ +import { Injectable, Injector } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { environment } from '@env/environment'; +import { EnvironmentService } from '@env/environment.service'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzUploadChangeParam } from 'ng-zorro-antd/upload'; +import { Observable } from 'rxjs'; +import { map, tap } from 'rxjs/operators'; +import { IBase } from '../../interfaces'; +import { EAFileUtil } from '../../utils'; + +@Injectable({ + providedIn: 'root', +}) +export class BaseService implements IBase { + // 新增实例接口地址 + public $api_add_one!: string; + // 新增多个实例地址 + public $api_add_many!: string; + // 修改实例接口地址 + public $api_edit_one!: string; + // 修改多个实例地址 + public $api_edit_many!: string; + // 删除单个实例接口地址 + public $api_del_one!: string; + // 删除多个实例接口地址 + public $api_del_many!: string; + // 获取多个实例接口地址 + public $api_get_many!: string; + // 获取单个实例接口地址 + public $api_get_one!: string; + // 获取分页数据 + public $api_get_page!: string; + // 导出数据接口地址 + public $api_export!: string; + // 导入数据接口地址 + public $api_import!: string; + // 导入数据模板下载地址 + public $api_import_download_tpl!: string; + // 获取字典选项 + public $api_get_dict!: string; + + constructor(public injector: Injector) {} + + get http(): _HttpClient { + return this.injector.get(_HttpClient); + } + + get msgSrv(): NzMessageService { + return this.injector.get(NzMessageService); + } + + get fileUtil(): EAFileUtil { + return this.injector.get(EAFileUtil); + } + + get envSrv(): EnvironmentService { + return this.injector.get(EnvironmentService); + } + + /** + * 异步请求 + * @param parameter 请求参数 + * @param url 请求路径 + * @param method 请求方法 + */ + private httpRequest( + url: string, + parameter: any = {}, + method: 'POST' | 'GET', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + if (paramType === 'FORM') { + parameter = this.getFormData(parameter); + } + // 判断请求是否需要返回完整请求体 + const allowBadCode = this.getParams('_allow_badcode', url); + return this.http + .request(method, url, { + body: paramInBody ? parameter : null, + params: paramInBody ? null : parameter, + }) + .pipe( + map((res: any) => { + if (res.success === true) { + const data = res?.data; + if (allowBadCode) { + return res; + } else { + if (data === undefined || data === null) { + return true; + } + return data; + } + } else { + this.msgSrv.warning(res.msg); + return allowBadCode ? res : null; + } + }), + ); + } + + /** + * 把实体对象转换为FormData + */ + private getFormData(entity: any) { + const formdata = new FormData(); + for (const key in entity) { + if (Object.prototype.hasOwnProperty.call(entity, key)) { + formdata.append(key, entity[key]); + } + } + return formdata; + } + + request( + url: string, + parameter: any = {}, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.httpRequest(url, parameter, method, paramInBody, paramType); + } + + asyncRequest( + url: string, + parameter: any = {}, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.request(url, parameter, method, paramInBody, paramType).toPromise(); + } + + // 增 + addOne( + parameter: any, + url: string = this.$api_add_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncAddOne( + parameter: any, + url: string = this.$api_add_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.addOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + addMany( + parameter: any[], + url: string = this.$api_add_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncAddMany( + parameter: any, + url: string = this.$api_add_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.addMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + // 删 + delOne( + parameter: any, + url: string = this.$api_del_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncDelOne( + parameter: any, + url: string = this.$api_del_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.delOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + delMany( + parameter: any[], + url: string = this.$api_del_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncDelMany( + parameter: any[], + url: string = this.$api_del_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.delMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + // 改 + updateOne( + parameter: any, + url: string = this.$api_edit_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncUpdateOne( + parameter: any, + url: string = this.$api_edit_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.updateOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + updateMany( + parameter: any[], + url: string = this.$api_edit_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncUpdateMany( + parameter: any[], + url: string = this.$api_edit_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.updateMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + /** + * 查询一个实例 + */ + getOne( + parameter: any, + url: string = this.$api_get_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncGetOne( + parameter: any, + url: string = this.$api_get_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.getOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + /** + * 查询一个实例 + */ + getMany( + parameter: any, + url: string = this.$api_get_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.httpRequest(url, parameter, method, paramInBody, paramType).pipe( + map((res) => { + return (res as any[]) || []; + }), + ); + } + + asyncGetMany( + parameter: any, + url: string = this.$api_get_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.getMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + /** + * @description: 异步导出文件 + * 采用this.request相同的传参方式调用 + * 支持多种传参方法及自定义头(推荐) + * @param parameter 条件参数 + * @param url API地址 + * @param method Http方法,默认:POST + * @param paramInBody 参数是否在body内 + * @param paramType 参数类型: JSON | FORM , 默认:FORM + * @param allowBadCode 允许完整响应代码 + * @param async 是否同步 + * @returns Http响应结果 + */ + exportStart( + parameter: any, + url: string = this.$api_export, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + allowBadCode: boolean = true, + async: boolean = true, + ): Observable | Promise { + if (allowBadCode) { + url += `?_allow_badcode=true`; + } + const response = this.httpRequest(url, parameter, method, paramInBody, paramType).pipe( + tap((res) => { + if (res.success) { + this.msgSrv.success(`创建下载任务成功,请前往下载任务列表下载您的文件!`); + window.open('#/download'); + } + return res; + }), + ); + return async ? response.toPromise() : response; + } + + /** + * 导出文件 + * @param body Http body参数 + */ + exportFile(body: any = {}, url: string = this.$api_export): void { + this.fileUtil.download(url, body, {}, 'POST'); + } + + /** + * 异步导出文件: + * 采用HttpClient POST方式调用 + * 仅支持POST方法,传参仅支持JSON对象(不推荐) + * @deprecated 不建议使用,请使用exportStart方法代替 + */ + asyncExport(params: any, url: string = this.$api_export): Promise { + return this.http + .post(url, params) + .pipe( + map((m: any) => { + if (m.success) { + this.msgSrv.success('创建导出文件任务成功,请前往下载管理中下载您的文件!'); + window.open('#/download'); + return m.data; + } else { + this.msgSrv.warning(m.msg); + return false; + } + }), + ) + .toPromise(); + } + + /** + * 直接下载文件 + */ + openDownload(url: string, body: any = {}): void { + if (url.startsWith('/')) { + url = url.substr(1); + } + let newUrl = `${environment.api}/${url}`; + if (body && JSON.stringify(body) !== '{}') { + newUrl = newUrl + '?'; + for (const key in body) { + if (Object.prototype.hasOwnProperty.call(body, key)) { + newUrl = newUrl + key + '=' + body[key] + '&'; + } + } + } + + if (newUrl.endsWith('&')) { + newUrl = newUrl.substr(0, newUrl.length - 1); + } + + window.open(newUrl); + } + + /** + * 下载文件 + * @param url 请求路径 + * @param body Http body参数 + * @param params Http params参数 + */ + downloadFile(url: string, body: any = {}, params: any = {}, method: 'POST' | 'GET' = 'POST'): void { + this.fileUtil.download(url, body, params, method); + } + + /** + * 下载模版 + * @param body Http body参数 + * @param params Http params参数 + */ + downloadTpl(body: any = {}, params: any = {}): void { + this.fileUtil.download(this.$api_import_download_tpl, body, params); + } + + /** + * 处理上传状态 + */ + handleUpload({ file, fileList }: NzUploadChangeParam): void { + const status = file.status; + if (status !== 'uploading') { + // console.log(file, fileList); + } + if (status === 'done') { + this.msgSrv.success(`${file.name} 上传成功.`); + } else if (status === 'error') { + this.msgSrv.error(`${file.name} 上传失败.`); + } + } + + /** + * 获取字典 + */ + getDict(key: string): Observable { + return this.http.post(this.$api_get_dict, { dict: key }).pipe( + map((res) => { + if (res.success === true) { + return res.data.map((r: any) => { + return { + label: r.itemValue, + value: r.itemKey, + }; + }); + } else { + this.msgSrv.warning(`获取取字典【${key}】时发生错误:${res.msg || '未知错误!'}`); + return []; + } + }), + ); + } + + /** + * 编码自定义头 + * @param url 需要请求的URL + * @param customHeader 自定义头集合 + * @returns 编码后的URL + */ + encodeUrlHeader(url: string, customHeader: { key: string; value: string }[]): string { + if (customHeader && customHeader.length > 0) { + let newUrl = ''; + if (url.includes('?')) { + newUrl = url + '&_custom_header=' + encodeURI(JSON.stringify(customHeader)); + } else { + newUrl = url + '?_custom_header=' + encodeURI(JSON.stringify(customHeader)); + } + return newUrl; + } + + return url; + } + + /** + * 获取URL指定参数的值 + */ + private getParams(paramName: string, url: string): string { + const paramsIndex = url.indexOf('?'); + if (paramsIndex > -1) { + const paramsStr = url.substr(paramsIndex + 1); + const params = paramsStr.split('&'); + const keyMap = params.find((e) => e.includes(paramName)); + const value = keyMap ? keyMap.split('=')[1] : ''; + return value; + } + return ''; + } +} diff --git a/src/app/shared/services/core/cache.service.ts b/src/app/shared/services/core/cache.service.ts new file mode 100644 index 00000000..996eed97 --- /dev/null +++ b/src/app/shared/services/core/cache.service.ts @@ -0,0 +1,130 @@ +/* eslint-disable no-underscore-dangle */ +/* + * @Author: Maple + * @Date: 2021-03-22 09:35:02 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-18 00:34:01 + * @Description: 全局缓存服务 + */ +import { Injectable } from '@angular/core'; +import { cacheConf } from '@conf/cache.conf'; +import { CacheService } from '@delon/cache'; +import { BehaviorSubject } from 'rxjs'; +import { distinctUntilChanged } from 'rxjs/operators'; +import { ICacheObj } from '../../interfaces/core/i-cache-obj'; +import { EADateUtil } from '../../utils'; +import { EAEncryptUtil } from '../../utils/encrypt.util'; + +@Injectable({ + providedIn: 'root', +}) +export class EACacheService { + // 监听最后操作时间值变化 + private listen$ = new BehaviorSubject(0); + private listen = this.listen$.asObservable(); + constructor(private service: CacheService) { + this.listen.pipe(distinctUntilChanged()).subscribe((res) => { + this.set(cacheConf.last_operation_time, res); + }); + } + + /** + * @description 设置缓存 + * @param key 缓存键值 + * @param data 缓存数据 + * @param vld 有效时间 + * @param encrypt 是否加密 + */ + set(key: string, data: any, vld: number = 0, encrypt: boolean = false) { + // 去除缓存数据两侧空格 + if (typeof data === 'string') { + data = data.trim(); + } + const cahceObj: ICacheObj = { + pd: new Date().getTime(), + data, + vld, + encrypt, + }; + if (encrypt) { + // 加密 + cahceObj.data = EAEncryptUtil.encryptByEnAES(JSON.stringify(data)); + } + this.service.set(key, cahceObj); + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + } + + /** + * @description 获取缓存 + * @param key 缓存键名 + */ + get(key: string) { + // 获取缓存对象 + const cacheObj = this.service.getNone(key); + // 判断是否存在 + if (!cacheObj) { + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return null; + } + // 判断有效期 + if (cacheObj.vld > 0) { + // 获取系统最后操作时间 + const last_operation_time: number = this.getLastOperationTime(); + const start = cacheObj.pd > last_operation_time ? cacheObj.pd : last_operation_time; + const vld: Date = EADateUtil.timestampToDate(start + cacheObj.vld); + const expired = EADateUtil.dateDiff(vld, new Date()) <= 0; + if (expired) { + // 已过期,清除缓存 + this.remove(key); + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return null; + } + } + + // 判断是否加密 + if (cacheObj.encrypt) { + const encryptJson = EAEncryptUtil.deencryptByDeAES(cacheObj.data); + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return JSON.parse(encryptJson); + } + + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return cacheObj.data; + } + + /** + * @description 移除缓存 + * @param key 缓存键名 + */ + remove(key: string) { + this.service.remove(key); + } + + /** + * @description 清除所有缓存 + */ + clear(): void { + this.service.clear(); + } + + /** + * 刷新系统最后操作时间 + */ + refleshLastOperationTime() { + this.listen$.next(new Date().getTime()); + } + + /** + * 获取系统最后操作时间 + */ + private getLastOperationTime(): number { + // 获取缓存对象 + const cacheObj: ICacheObj = this.service.getNone(cacheConf.last_operation_time); + return cacheObj?.data || 0; + } +} diff --git a/src/app/shared/services/core/event.service.ts b/src/app/shared/services/core/event.service.ts new file mode 100644 index 00000000..a05a5b7e --- /dev/null +++ b/src/app/shared/services/core/event.service.ts @@ -0,0 +1,19 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 09:35:02 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-11 17:00:07 + * @Description: 全局事件监听服务 + */ +import { Injectable } from '@angular/core'; +import * as EventEmitter from 'eventemitter3'; + +@Injectable({ + providedIn: 'root', +}) +export class EAEventService { + event: EventEmitter; + constructor() { + this.event = new EventEmitter(); + } +} diff --git a/src/app/shared/services/core/validate.service.ts b/src/app/shared/services/core/validate.service.ts new file mode 100644 index 00000000..0fb8b886 --- /dev/null +++ b/src/app/shared/services/core/validate.service.ts @@ -0,0 +1,104 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-29 14:47:54 + * @Description: 全局验证服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { BaseService } from '../core/base.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAValidateService extends BaseService { + constructor(public injector: Injector) { + super(injector); + } + + /** + * 通过正则表达式验证字符串 + * @param value 待验证的字符串 + * @param partern 正则表达式 + * @returns 验证结果 + */ + validate(value: string, partern: RegExp): boolean { + const reg = new RegExp(partern); + return reg.test(value); + } + + /** + * 验证手机号码 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateChineseCharacters(value: string, star: number): boolean { + const express = /^[\u4e00-\u9fa5]{2, 4}$/; + return this.validate(value, express); + } + + /** + * 验证手机号码 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateMobile(value: string): boolean { + const express = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; + return this.validate(value, express); + } + + /** + * 验证固定电话 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateTel(value: string): boolean { + const express = /^(0\d{2,3})-?(\d{7,8})$/; + return this.validate(value, express); + } + + /** + * 验证身份证号码 + * @param value 待验证的值 + * @param mode 匹配模式:indistinct - 模糊匹配 | accurate - 精准匹配(默认值:indistinct) + * @param length 号码长度 (默认值:18) + * @returns 验证结果 + */ + validateIDCard(value: string, mode: 'indistinct' | 'accurate' = 'indistinct', length: 15 | 18 = 18): boolean { + // 模糊校验 + let express = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; + // 精准校验18位身份证号码 + const express1 = /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; + // 精准校验15位身份证号码 + const express2 = /^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$/; + + if (mode === 'accurate') { + if (length === 18) { + express = express1; + } else if (length === 15) { + express = express2; + } + } + return this.validate(value, express); + } + + /** + * 验证邮政编码 + * @param value 待验证的值 + * @returns 验证结果 + */ + validatePostalCode(value: string): boolean { + const express = /^[1-9]\d{5}$/; + return this.validate(value, express); + } + + /** + * 验证邮箱地址 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateEmail(value: string): boolean { + const express = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; + return this.validate(value, express); + } +} diff --git a/src/app/shared/services/index.ts b/src/app/shared/services/index.ts new file mode 100644 index 00000000..efce4581 --- /dev/null +++ b/src/app/shared/services/index.ts @@ -0,0 +1,12 @@ +// Core +export * from './core/base.service'; +export * from './core/cache.service'; +export * from './core/validate.service'; + +// Bussiness +export * from './business/account.service'; +export * from './business/authorization.service'; +export * from './business/enterprise.service'; +export * from './business/captcha.service'; +export * from './business/user.service'; +export * from './business/sl-platform.service'; diff --git a/src/app/shared/shared-delon.module.ts b/src/app/shared/shared-delon.module.ts new file mode 100644 index 00000000..6b3c0e99 --- /dev/null +++ b/src/app/shared/shared-delon.module.ts @@ -0,0 +1,6 @@ +import { PageHeaderModule } from '@delon/abc/page-header'; +import { SEModule } from '@delon/abc/se'; +import { STModule } from '@delon/abc/st'; +import { SVModule } from '@delon/abc/sv'; + +export const SHARED_DELON_MODULES = [PageHeaderModule, STModule, SVModule, SEModule]; diff --git a/src/app/shared/shared-zorro.module.ts b/src/app/shared/shared-zorro.module.ts new file mode 100644 index 00000000..a3bc7c29 --- /dev/null +++ b/src/app/shared/shared-zorro.module.ts @@ -0,0 +1,27 @@ +import { NzAlertModule } from 'ng-zorro-antd/alert'; +import { NzBadgeModule } from 'ng-zorro-antd/badge'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCardModule } from 'ng-zorro-antd/card'; +import { NzDatePickerModule } from 'ng-zorro-antd/date-picker'; +import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; +import { NzFormModule } from 'ng-zorro-antd/form'; +import { NzGridModule } from 'ng-zorro-antd/grid'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzTableModule } from 'ng-zorro-antd/table'; + +export const SHARED_ZORRO_MODULES = [ + NzButtonModule, + NzGridModule, + NzTableModule, + NzFormModule, + NzInputModule, + NzBadgeModule, + NzAlertModule, + NzDropDownModule, + NzSelectModule, + NzDatePickerModule, + NzCardModule, + NzIconModule +]; diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts new file mode 100644 index 00000000..413d5ad0 --- /dev/null +++ b/src/app/shared/shared.module.ts @@ -0,0 +1,73 @@ +/* eslint-disable import/order */ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { DelonACLModule } from '@delon/acl'; +import { DelonFormModule } from '@delon/form'; +import { AlainThemeModule } from '@delon/theme'; + +import { SHARED_DELON_MODULES } from './shared-delon.module'; +import { SHARED_ZORRO_MODULES } from './shared-zorro.module'; + +// #region third libs +import { DragDropModule } from '@angular/cdk/drag-drop'; +const THIRDMODULES = [DragDropModule]; +// #endregion + +// #region your componets & directives +import { PRO_SHARED_MODULES } from '../layout/pro'; +import { AddressModule } from './components/address'; +import { DelayModule } from './components/delay'; +import { EditorModule } from './components/editor'; +import { FileManagerModule } from './components/file-manager'; +import { MasonryModule } from './components/masonry'; +import { MouseFocusModule } from './components/mouse-focus'; +import { ScrollbarModule } from './components/scrollbar'; +import { StatusLabelModule } from './components/status-label'; + +const MODULES = [ + AddressModule, + DelayModule, + EditorModule, + FileManagerModule, + MasonryModule, + MouseFocusModule, + ScrollbarModule, + StatusLabelModule, + ...PRO_SHARED_MODULES +]; +// #endregion + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + RouterModule, + ReactiveFormsModule, + AlainThemeModule.forChild(), + DelonACLModule, + DelonFormModule, + ...SHARED_DELON_MODULES, + ...SHARED_ZORRO_MODULES, + ...MODULES, + // third libs + ...THIRDMODULES + ], + exports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + RouterModule, + AlainThemeModule, + DelonACLModule, + DelonFormModule, + // i18n + ...SHARED_DELON_MODULES, + ...SHARED_ZORRO_MODULES, + ...MODULES, + // third libs + ...THIRDMODULES + ] +}) +export class SharedModule {} diff --git a/src/app/shared/utils/date.util.ts b/src/app/shared/utils/date.util.ts new file mode 100644 index 00000000..a8f3a989 --- /dev/null +++ b/src/app/shared/utils/date.util.ts @@ -0,0 +1,56 @@ +export class EADateUtil { + /** + * @description 时间戳转换日期 + * @param timestamp 时间戳 + * @returns 时间戳对应的日期 + */ + static timestampToDate(timestamp: number): Date { + let date; + // 时间戳为10位需*1000,时间戳为13位的话不需乘1000 + if (timestamp.toString().length === 10) { + date = new Date(timestamp * 1000); + } else { + date = new Date(timestamp); + } + + const Y = date.getFullYear(); + const M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; + const D = date.getDate(); + const h = date.getHours(); + const m = date.getMinutes(); + const s = date.getSeconds(); + + const dateStr = `${Y}-${M}-${D} ${h}:${m}:${s}`; + return new Date(dateStr); + } + + /** + * @description 日期相加 + * @param start 开始日期 + * @param intervalMS 间隔秒数(毫秒) + * @returns 相加后的日期 + */ + static dateAdd(start: Date, intervalMS: number): Date { + return this.timestampToDate(start.getTime() + intervalMS); + } + + /** + * @description 日期相减 + * @param start 开始日期 + * @param intervalMS 时间间隔(毫秒) + * @returns 相减后的日期 + */ + static dateMinus(start: Date, intervalMS: number): Date { + return this.timestampToDate(start.getTime() - intervalMS); + } + + /** + * @description 计算两个日期的时间差 + * @param start 开始日期 + * @param end 结束日期 + * @returns 两时间相差的毫秒数 + */ + static dateDiff(start: Date, end: Date): number { + return start.getTime() - end.getTime(); + } +} diff --git a/src/app/shared/utils/file.util.ts b/src/app/shared/utils/file.util.ts new file mode 100644 index 00000000..c9a64dcc --- /dev/null +++ b/src/app/shared/utils/file.util.ts @@ -0,0 +1,76 @@ +import { Injectable } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import * as FileSaver from 'file-saver'; +import { NzModalService } from 'ng-zorro-antd/modal'; + +@Injectable({ + providedIn: 'root', +}) +export class EAFileUtil { + constructor(private modal: NzModalService, private http: _HttpClient) {} + + /** + * 保存文件 + * @param content 需要保存的内容 + * @param filename 文件名 + * @param confirm 显示确认框 + */ + save(content: any, filename: string, confirm: boolean = true): void { + const blob = new Blob([JSON.stringify(content)], { type: 'text/plain;charset=utf-8' }); + if (confirm === true) { + this.modal.confirm({ + nzTitle: '文件下载确认', + nzContent: `是否下载文件:${filename}`, + nzOnOk: () => { + FileSaver.saveAs(blob, filename); + }, + }); + } else { + FileSaver.saveAs(blob, filename); + } + } + + /** + * @param url 接口地址 + * @param body post请求参数 + * @param params get请求参数 + * @method 请求方法 + */ + download(url: string, body: any, params: any, method: 'POST' | 'GET' = 'POST'): void { + if (method === 'POST') { + this.http + .post(url, body, params, { + responseType: 'blob', + observe: 'response', + }) + .subscribe((res) => { + this.saveBlob(res); + }); + } else if (method === 'GET') { + this.http + .get(url, params, { + responseType: 'blob', + observe: 'response', + }) + .subscribe((res) => { + this.saveBlob(res); + }); + } + } + + /** + * 创建blob对象,并利用浏览器打开url进行下载 + * @param data 文件流数据 + */ + private saveBlob(res: any): void { + const disp = res.headers.get('Content-Disposition'); + const blob = new Blob([res.body], { type: 'text/plain;charset=utf-8' }); + const url = window.URL.createObjectURL(blob); + const a = document.createElement('a'); + const fileName = disp.split(';')[1].split('=')[1]; + a.href = url; + a.download = decodeURI(fileName); + a.click(); + window.URL.revokeObjectURL(url); + } +} diff --git a/src/app/shared/utils/index.ts b/src/app/shared/utils/index.ts new file mode 100644 index 00000000..d822fed6 --- /dev/null +++ b/src/app/shared/utils/index.ts @@ -0,0 +1,4 @@ +export * from './date.util'; +export * from './file.util'; +export * from './processSingleSort.func'; +export * from './yuan'; diff --git a/src/app/shared/utils/processSingleSort.func.ts b/src/app/shared/utils/processSingleSort.func.ts new file mode 100644 index 00000000..41ec3c6a --- /dev/null +++ b/src/app/shared/utils/processSingleSort.func.ts @@ -0,0 +1,38 @@ +/* + * @Author: Maple + * @Date: 2021-02-27 17:40:54 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-23 20:58:18 + * @Description: 处理ST表格的单列排序 + */ +import { STRequestOptions } from '@delon/abc/st'; + +/** + * 处理ST表格单条件排序 + * @param reqOtions ST的Req + * @param sortField 排序字段,默认为:sortType + * @returns ST的Req + */ +export function processSingleSort(reqOtions: STRequestOptions, sortField: string = 'sort'): STRequestOptions { + if (!reqOtions.body) { + return reqOtions; + } + // 获取排序字段 + const body: any = {}; + for (const _key of Object.keys(reqOtions.body)) { + if (typeof reqOtions.body[_key] === 'string') { + const value: string = reqOtions.body[_key]?.trim(); + if (value && (value === 'ascend' || value === 'descend')) { + body[sortField] = `${_key}.${value}`; + } else { + body[_key] = reqOtions.body[_key]; + } + } else { + body[_key] = reqOtions.body[_key]; + } + } + if (JSON.stringify(body) !== '{}') { + reqOtions.body = body; + } + return reqOtions; +} diff --git a/src/app/shared/utils/yuan.ts b/src/app/shared/utils/yuan.ts new file mode 100644 index 00000000..23662d22 --- /dev/null +++ b/src/app/shared/utils/yuan.ts @@ -0,0 +1,11 @@ +/** + * 转化成RMB元字符串 + * + * @param digits 当数字类型时,允许指定小数点后数字的个数,默认2位小数 + */ +export function yuan(value: number | string, digits: number = 2): string { + if (typeof value === 'number') { + value = value.toFixed(digits); + } + return `¥ ${value}`; +} diff --git a/src/app/shared/widget/address/address.widget.ts b/src/app/shared/widget/address/address.widget.ts new file mode 100644 index 00000000..a6af22db --- /dev/null +++ b/src/app/shared/widget/address/address.widget.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-address', + template: ` + +
    +
    + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class AddressWidget extends ControlWidget { + static readonly KEY = 'address'; + + _change(value: string): void { + this.setValue(value); + } +} diff --git a/src/app/shared/widget/editor/editor.widget.ts b/src/app/shared/widget/editor/editor.widget.ts new file mode 100644 index 00000000..2a5d9f69 --- /dev/null +++ b/src/app/shared/widget/editor/editor.widget.ts @@ -0,0 +1,23 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-editor', + template: ` + + + + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class EditorWidget extends ControlWidget { + static readonly KEY = 'editor'; + + _change(value: string): void { + this.setValue(value); + if (this.ui.contentChanged) { + this.ui.contentChanged(value); + } + } +} diff --git a/src/app/shared/widget/from-to-search/from-to-search.widget.html b/src/app/shared/widget/from-to-search/from-to-search.widget.html new file mode 100644 index 00000000..09bb8e2a --- /dev/null +++ b/src/app/shared/widget/from-to-search/from-to-search.widget.html @@ -0,0 +1,21 @@ + + +
    + + - + +
    +
    +
    diff --git a/src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts b/src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts new file mode 100644 index 00000000..b6c2ac84 --- /dev/null +++ b/src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SLFromToSearchWidget } from './from-to-search.widget'; + +describe('SLFromToSearchWidget', () => { + let component: SLFromToSearchWidget; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SLFromToSearchWidget], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SLFromToSearchWidget); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/widget/from-to-search/from-to-search.widget.ts b/src/app/shared/widget/from-to-search/from-to-search.widget.ts new file mode 100644 index 00000000..22e7ab25 --- /dev/null +++ b/src/app/shared/widget/from-to-search/from-to-search.widget.ts @@ -0,0 +1,104 @@ +/* + * @Descripttion: Do not edit + * @version: 1.0 + * @Author: Eclipse + * @Date: 2021-05-08 15:57:42 + * @LastEditors: Eclipse + * @LastEditTime: 2021-05-08 16:05:26 + */ +import { ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core'; +import { ControlWidget, SFComponent, SFItemComponent } from '@delon/form'; +import { format, getISOWeek } from 'date-fns'; + +@Component({ + selector: 'sl-from-to-search', + templateUrl: './from-to-search.widget.html', + preserveWhitespaces: false, +}) +export class SLFromToSearchWidget extends ControlWidget implements OnInit { + static readonly KEY = 'sl-from-to-search'; + /** + * 组件类型 + */ + type: 'date' | 'number' = 'date'; + /** + * 控件模式 + */ + mode: 'date' | 'week' | 'month' | 'year' = 'date'; + /** + * 组件返回值 + */ + data: { start: any; end: any } | null = null; + /** + * 组件日期显示格式 + */ + displayFormat = 'yyyy-MM-dd'; + /** + * 组件日期格式 + */ + format = 'yyyy-MM-dd'; + /** + * 最小值 + */ + min: any; + /** + * 最大值 + */ + max: any; + /** + * 日期区间 + */ + date: Array = []; + /** + * 开始日期 + */ + startDate: any; + /** + * 结束日期 + */ + endDate: any; + + constructor(cd: ChangeDetectorRef, injector: Injector, sfItemComp?: SFItemComponent, sfComp?: SFComponent) { + super(cd, injector, sfItemComp, sfComp); + } + + ngOnInit(): void { + this.type = this.ui?.type || 'date'; + this.mode = this.ui?.mode || 'date'; + this.displayFormat = this.ui?.displayFormat; + this.format = this.ui?.format || 'yyyy-MM-dd'; + } + onChange(result: any): void { + if (this.startDate && this.endDate) { + const date1 = new Date(this.startDate); + const date2 = new Date(this.endDate); + if (date1.getTime() > date2.getTime()) { + const date3 = this.endDate; + this.endDate = this.startDate; + this.startDate = date3; + } + } + if (this.startDate) { + this.date[0] = format(this.startDate, this.format); + } else { + this.date[0] = ''; + } + if (this.endDate) { + this.date[1] = format(this.endDate, this.format); + } else { + this.date[1] = ''; + } + + if (this.type === 'date') { + this.setValue(this.date); + } else if (this.type === 'number') { + } else { + this.setValue(null); + } + } + + reset(value: string) { + this.startDate = null; + this.endDate = null; + } +} diff --git a/src/app/shared/widget/from-to/from-to.widget.html b/src/app/shared/widget/from-to/from-to.widget.html new file mode 100644 index 00000000..8b2523a9 --- /dev/null +++ b/src/app/shared/widget/from-to/from-to.widget.html @@ -0,0 +1,11 @@ + + + + + diff --git a/src/app/shared/widget/from-to/from-to.widget.less b/src/app/shared/widget/from-to/from-to.widget.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/shared/widget/from-to/from-to.widget.spec.ts b/src/app/shared/widget/from-to/from-to.widget.spec.ts new file mode 100644 index 00000000..2030cecf --- /dev/null +++ b/src/app/shared/widget/from-to/from-to.widget.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EAFromToWidget } from './from-to.widget'; + +describe('EAFromToWidget', () => { + let component: EAFromToWidget; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [EAFromToWidget], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(EAFromToWidget); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/widget/from-to/from-to.widget.ts b/src/app/shared/widget/from-to/from-to.widget.ts new file mode 100644 index 00000000..e388f426 --- /dev/null +++ b/src/app/shared/widget/from-to/from-to.widget.ts @@ -0,0 +1,85 @@ +import { ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core'; +import { ControlWidget, SFComponent, SFItemComponent } from '@delon/form'; +import { format, getISOWeek } from 'date-fns'; + +@Component({ + selector: 'sl-from-to', + templateUrl: './from-to.widget.html', + styleUrls: ['./from-to.widget.less'], + preserveWhitespaces: false, +}) +export class EAFromToWidget extends ControlWidget implements OnInit { + static readonly KEY = 'sl-from-to'; + /** + * 组件类型 + */ + type: 'date' | 'number' = 'date'; + /** + * 控件模式 + */ + mode: 'date' | 'week' | 'month' | 'year' = 'date'; + /** + * 组件返回值 + */ + data: { start: any; end: any } | null = null; + /** + * 组件日期显示格式 + */ + displayFormat = 'yyyy-MM-dd'; + /** + * 组件日期格式 + */ + format = 'yyyy-MM-dd'; + /** + * 最小值 + */ + min: any; + /** + * 最大值 + */ + max: any; + /** + * 日期区间 + */ + date: any; + + constructor(cd: ChangeDetectorRef, injector: Injector, sfItemComp?: SFItemComponent, sfComp?: SFComponent) { + super(cd, injector, sfItemComp, sfComp); + } + + ngOnInit(): void { + this.data = this.formProperty?.formData as { start: any; end: any }; + this.date = this.initData(this.data); + this.type = this.ui?.type || 'date'; + this.mode = this.ui?.mode || 'date'; + this.displayFormat = this.ui?.displayFormat; + this.format = this.ui?.format || 'yyyy-MM-dd'; + } + + initData(data: { start: any; end: any }): Date[] | null { + return data ? [new Date(this.data?.start), new Date(this.data?.end)] : null; + } + + onChange(result: Array): void { + console.log('onChange: ', result); + + if (this.type === 'date') { + if (JSON.stringify(result) !== '[]') { + this.setValue({ start: format(result[0], this.format), end: format(result[1], this.format) }); + } else { + this.setValue(null); + } + } else if (this.type === 'number') { + } else { + this.setValue(null); + } + } + + getWeek(result: Date[]): void { + console.log('week: ', result.map(getISOWeek)); + } + + _change(value: string): void { + this.setValue(value); + } +} diff --git a/src/app/shared/widget/img/img.widget.ts b/src/app/shared/widget/img/img.widget.ts new file mode 100644 index 00000000..c5f9359c --- /dev/null +++ b/src/app/shared/widget/img/img.widget.ts @@ -0,0 +1,63 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-img', + template: ` + +
    + + + + + +
    +
    + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class ImgWidget extends ControlWidget { + static readonly KEY = 'img'; + result: any[] = []; + + private notify(value: any): void { + const { selected } = this.ui; + this.setValue(value); + if (selected) { + selected(value); + } + } + + reset(value: any): void { + if (!value) { + return; + } + + let res = Array.isArray(value) ? value : [value]; + if (res.length > 0 && typeof res[0] === 'string') { + res = res.map((mp) => mp); + } + this.result = res; + } + + _change(list: any): void { + const { multiple, field } = this.ui; + if (!Array.isArray(list)) { + list = [list]; + } + this.result = list; + // get fields + list = (list as any[]).map((item) => (field ? item[field] : item)).filter((item) => !!item); + const value = list.length > 0 ? (multiple === true ? list : list[0]) : null; + + this.notify(value); + } + + _clean(): void { + this.result.length = 0; + this.notify(null); + } +} diff --git a/src/app/shared/widget/noun/noun.widget.ts b/src/app/shared/widget/noun/noun.widget.ts new file mode 100644 index 00000000..45deec7f --- /dev/null +++ b/src/app/shared/widget/noun/noun.widget.ts @@ -0,0 +1,77 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sl-noun', + template: ` + + + + + + + + `, + preserveWhitespaces: false, + styles: [ + ` + .number-input { + width: calc(50% - 15px); + } + `, + ], +}) + +// tslint:disable-next-line: component-class-suffix +export class NounWidget extends ControlWidget { + static readonly KEY = 'noun'; + min!: number | null; + max!: number | null; + val: any[] = []; + + _change(value: any, index: number) { + if (value.toString().trim() === '') { + value = null; + } + if (index === 0) { + this.min = value; + } + if (index === 1) { + this.max = value; + } + + this.val[index] = value; + if (this.val.length === 2 && this.val[0] !== null && this.val[1] !== null) { + this.setValue(this.val); + } else { + this.setValue(null); + } + } + + reset(value: string) { + this.min = null; + this.max = null; + } +} diff --git a/src/app/shared/widget/property-values/property-values.widget.ts b/src/app/shared/widget/property-values/property-values.widget.ts new file mode 100644 index 00000000..9cd8c4c6 --- /dev/null +++ b/src/app/shared/widget/property-values/property-values.widget.ts @@ -0,0 +1,184 @@ +import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; +export class PV { + _$id?: any; + id?: string; + propertyId?: string; + sortId?: number; + stateShow?: number; + storeId?: number; + value?: string; + status?: number; +} +@Component({ + selector: 'sl-property-values', + styles: [ + ` + ::ng-deep .cdk-drag-preview { + display: table; + } + + ::ng-deep .cdk-drag-placeholder { + opacity: 0; + } + `, + ], + template: ` + + + + + + 排序 + 属性值 + + 操作 + + + + + + {{ data.sortId }} + {{ data.value }} + + + 编辑 + + 删除 + + + + + + + + + + + + 保存 + + 取消 + + + + + + + `, + preserveWhitespaces: false, +}) + +// tslint:disable-next-line: component-class-suffix +export class PropertyValuesWidget extends ControlWidget { + static readonly KEY = 'property-values'; + + i = 0; + editId: string | null = null; + + editCache: { [key: string]: { edit: boolean; data: PV } } = {}; + listOfData: PV[] = []; + + startEdit(id: string): void { + this.editCache[id].edit = true; + console.log(this.editCache[id]); + // 开始编辑时禁止提交表单 + this.setValue(null); + } + + changeRadio(e: any, item: any) { + item.status = e; + console.log(e, item); + } + + cancelEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + this.editCache[id] = { + data: { ...this.listOfData[index] }, + edit: false, + }; + this.setValue(this.listOfData); + } + + saveEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + Object.assign(this.listOfData[index], this.editCache[id].data); + this.editCache[id].edit = false; + this.setValue(this.listOfData); + } + + updateEditCache(): void { + this.listOfData.forEach((item) => { + this.editCache[item._$id] = { + edit: false, + data: { ...item }, + }; + }); + } + + addRow(): void { + this.i++; + this.listOfData = [ + ...this.listOfData, + { + _$id: `${this.i}`, + stateShow: 1, + }, + ]; + this.updateEditCache(); + this.setValue(this.listOfData); + } + + deleteRow(id: string): void { + this.listOfData = this.listOfData.filter((d) => d._$id !== id); + this.setValue(this.listOfData); + } + + _change(value: any, index: number) {} + + reset(value: string) {} + afterViewInit() { + // 初始化数据 + this.listOfData = []; + const formData: any = this.formProperty?.formData; + if (formData) { + const data = [...formData]; + for (let i = 0; i < data.length; i++) { + this.i = i; + this.listOfData.push({ + _$id: `${this.i}`, + ...data[i], + }); + } + this.updateEditCache(); + } + } + + drop(event: CdkDragDrop): void { + moveItemInArray(this.listOfData, event.previousIndex, event.currentIndex); + } +} diff --git a/src/app/shared/widget/spec-values/spec-values.widget.ts b/src/app/shared/widget/spec-values/spec-values.widget.ts new file mode 100644 index 00000000..a9fdffe8 --- /dev/null +++ b/src/app/shared/widget/spec-values/spec-values.widget.ts @@ -0,0 +1,176 @@ +import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; +export class PV { + _$id?: any; + id?: string; + specId?: string; + sortId?: number; + stateShow?: number; + storeId?: number; + value?: string; +} +@Component({ + selector: 'sl-spec-values', + styles: [ + ` + ::ng-deep .cdk-drag-preview { + display: table; + } + + ::ng-deep .cdk-drag-placeholder { + opacity: 0; + } + `, + ], + template: ` + + + + + + + 排序 + 规格值 + + 操作 + + + + + + {{ data.sortId }} + {{ data.value }} + + + 编辑 + + 删除 + + + + + + + + + + + + 保存 + + 取消 + + + + + + + `, + preserveWhitespaces: false, +}) + +// tslint:disable-next-line: component-class-suffix +export class SpecValuesWidget extends ControlWidget { + static readonly KEY = 'spec-values'; + + i = 0; + editId: string | null = null; + + editCache: { [key: string]: { edit: boolean; data: PV } } = {}; + listOfData: PV[] = []; + + startEdit(id: string): void { + this.editCache[id].edit = true; + // 开始编辑时禁止提交表单 + this.setValue(null); + } + + changeRadio(e: any, item: any) { + item.status = e; + console.log(e); + } + + cancelEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + this.editCache[id] = { + data: { ...this.listOfData[index] }, + edit: false, + }; + this.setValue(this.listOfData); + } + + saveEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + Object.assign(this.listOfData[index], this.editCache[id].data); + this.editCache[id].edit = false; + this.setValue(this.listOfData); + } + + updateEditCache(): void { + this.listOfData.forEach((item) => { + this.editCache[item._$id] = { + edit: false, + data: { ...item }, + }; + }); + } + + addRow(): void { + this.i++; + this.listOfData = [ + ...this.listOfData, + { + _$id: `${this.i}`, + stateShow: 1, + }, + ]; + this.updateEditCache(); + this.setValue(this.listOfData); + } + + deleteRow(id: string): void { + this.listOfData = this.listOfData.filter((d) => d._$id !== id); + this.setValue(this.listOfData); + } + + _change(value: any, index: number) {} + + reset(value: string) {} + afterViewInit() { + this.listOfData = []; + // 初始化数据 + const formData: any = this.formProperty?.formData; + if (formData) { + const data = [...formData]; + for (let i = 0; i < data.length; i++) { + this.i = i; + this.listOfData.push({ + _$id: `${this.i}`, + ...data[i], + }); + } + this.updateEditCache(); + } + } + + drop(event: CdkDragDrop): void { + moveItemInArray(this.listOfData, event.previousIndex, event.currentIndex); + } +} diff --git a/src/app/shared/widget/st-widget.module.ts b/src/app/shared/widget/st-widget.module.ts new file mode 100644 index 00000000..827fd14f --- /dev/null +++ b/src/app/shared/widget/st-widget.module.ts @@ -0,0 +1,72 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { STWidgetRegistry } from '@delon/abc/st'; +import { DelonFormModule } from '@delon/form'; +import { AddressModule, EditorModule, FileManagerModule } from '@shared'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzDatePickerModule } from 'ng-zorro-antd/date-picker'; +import { NzDividerModule } from 'ng-zorro-antd/divider'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzInputNumberModule } from 'ng-zorro-antd/input-number'; +import { NzStepsModule } from 'ng-zorro-antd/steps'; +import { NgxTinymceModule } from 'ngx-tinymce'; + +// import { STWidgetRegistry } from '@delon/abc/st'; +import { SharedModule } from '../shared.module'; +import { AddressWidget } from './address/address.widget'; +import { EditorWidget } from './editor/editor.widget'; +import { SLFromToSearchWidget } from './from-to-search/from-to-search.widget'; +import { EAFromToWidget } from './from-to/from-to.widget'; +import { ImgWidget } from './img/img.widget'; +import { NounWidget } from './noun/noun.widget'; +import { PropertyValuesWidget } from './property-values/property-values.widget'; +import { SpecValuesWidget } from './spec-values/spec-values.widget'; +import { TinymceWidget } from './tinymce/tinymce.widget'; + +export const STWIDGET_COMPONENTS = [ + EditorWidget, + ImgWidget, + AddressWidget, + TinymceWidget, + NounWidget, + EAFromToWidget, + SpecValuesWidget, + PropertyValuesWidget, + SLFromToSearchWidget +]; + +@NgModule({ + declarations: STWIDGET_COMPONENTS, + imports: [ + CommonModule, + FormsModule, + DelonFormModule.forRoot(), + AddressModule, + EditorModule, + FileManagerModule, + NzDividerModule, + NzStepsModule, + NzButtonModule, + NzInputModule, + NzDatePickerModule, + NzInputNumberModule, + NgxTinymceModule, + SharedModule + ], + exports: [...STWIDGET_COMPONENTS], + entryComponents: STWIDGET_COMPONENTS +}) +export class STWidgetModule { + constructor(widgetRegistry: STWidgetRegistry) { + widgetRegistry.register(EditorWidget.KEY, EditorWidget); + widgetRegistry.register(ImgWidget.KEY, ImgWidget); + widgetRegistry.register(AddressWidget.KEY, AddressWidget); + widgetRegistry.register(TinymceWidget.KEY, TinymceWidget); + widgetRegistry.register(NounWidget.KEY, NounWidget); + widgetRegistry.register(EAFromToWidget.KEY, EAFromToWidget); + widgetRegistry.register(SpecValuesWidget.KEY, SpecValuesWidget); + widgetRegistry.register(PropertyValuesWidget.KEY, PropertyValuesWidget); + widgetRegistry.register(SLFromToSearchWidget.KEY, SLFromToSearchWidget); + } +} diff --git a/src/app/shared/widget/tinymce/tinymce.widget.ts b/src/app/shared/widget/tinymce/tinymce.widget.ts new file mode 100644 index 00000000..958643a8 --- /dev/null +++ b/src/app/shared/widget/tinymce/tinymce.widget.ts @@ -0,0 +1,31 @@ +import { Component, OnInit } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-tinymce', + template: ` + + + + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class TinymceWidget extends ControlWidget implements OnInit { + static readonly KEY = 'tinymce'; + + config: any = {}; + loading = ''; + + ngOnInit(): void { + this.loading = this.ui.loading || '加载中……'; + this.config = this.ui.config || {}; + } + + change(value: string): void { + if (this.ui.change) { + this.ui.change(value); + } + this.setValue(value); + } +} diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/assets/color.less b/src/assets/color.less new file mode 100644 index 00000000..98e048e4 --- /dev/null +++ b/src/assets/color.less @@ -0,0 +1,2195 @@ +html {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);} +body {color: rgba(0, 0, 0, 0.85);background-color: #fff;} +h1, +h2, +h3, +h4, +h5, +h6 {color: rgba(0, 0, 0, 0.85);} +abbr[title], +abbr[data-original-title] {border-bottom: 0;} +a {color: #1890ff;background-color: transparent;} +a:hover {color: #40a9ff;} +a:active {color: #096dd9;} +a[disabled] {color: rgba(0, 0, 0, 0.25);} +img {border-style: none;} +table {border-collapse: collapse;} +caption {color: rgba(0, 0, 0, 0.45);} +input, +button, +select, +optgroup, +textarea {color: inherit;} +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner {border-style: none;} +fieldset {border: 0;} +legend {color: inherit;} +mark {background-color: #feffe6;} +::selection {color: #fff;background: #1890ff;} +.anticon {color: inherit;} +html {--antd-wave-shadow-color: #1890ff;} +[ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {border-radius: inherit;box-shadow: 0 0 0 0 #1890ff;box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);} +.cdk-visually-hidden {border: 0;} +.cdk-overlay-backdrop {-webkit-tap-highlight-color: transparent;} +.ant-alert {color: rgba(0, 0, 0, 0.85);border-radius: 2px;} +.ant-alert-success {background-color: #f6ffed;border: 1px solid #b7eb8f;} +.ant-alert-success .ant-alert-icon {color: #52c41a;} +.ant-alert-info {background-color: #e6f7ff;border: 1px solid #91d5ff;} +.ant-alert-info .ant-alert-icon {color: #1890ff;} +.ant-alert-warning {background-color: #fffbe6;border: 1px solid #ffe58f;} +.ant-alert-warning .ant-alert-icon {color: #faad14;} +.ant-alert-error {background-color: #fff2f0;border: 1px solid #ffccc7;} +.ant-alert-error .ant-alert-icon {color: #ff4d4f;} +.ant-alert-close-icon {background-color: transparent;border: none;} +.ant-alert-close-icon .anticon-close {color: rgba(0, 0, 0, 0.45);} +.ant-alert-close-icon .anticon-close:hover {color: rgba(0, 0, 0, 0.75);} +.ant-alert-close-text {color: rgba(0, 0, 0, 0.45);} +.ant-alert-close-text:hover {color: rgba(0, 0, 0, 0.75);} +.ant-alert-with-description .ant-alert-message {color: rgba(0, 0, 0, 0.85);} +.ant-alert-message {color: rgba(0, 0, 0, 0.85);} +.ant-alert-banner {border: 0;border-radius: 0;} +.ant-anchor {color: rgba(0, 0, 0, 0.85);} +.ant-anchor-wrapper {background-color: transparent;} +.ant-anchor-ink::before {background-color: #f0f0f0;} +.ant-anchor-ink-ball {background-color: #fff;border: 2px solid #1890ff;border-radius: 8px;} +.ant-anchor-link-title {color: rgba(0, 0, 0, 0.85);} +.ant-anchor-link-active > .ant-anchor-link-title {color: #1890ff;} +.ant-avatar {color: rgba(0, 0, 0, 0.85);color: #fff;background: #ccc;border-radius: 50%;} +.ant-avatar-image {background: transparent;} +.ant-avatar-lg {border-radius: 50%;} +.ant-avatar-sm {border-radius: 50%;} +.ant-avatar-square {border-radius: 2px;} +.ant-avatar-group .ant-avatar {border: 1px solid #fff;} +.ant-back-top {color: rgba(0, 0, 0, 0.85);} +.ant-back-top-content {color: #fff;background-color: rgba(0, 0, 0, 0.45);border-radius: 20px;} +.ant-back-top-content:hover {background-color: rgba(0, 0, 0, 0.85);} +.ant-badge {color: rgba(0, 0, 0, 0.85);} +.ant-badge-count {color: #fff;background: #ff4d4f;border-radius: 10px;box-shadow: 0 0 0 1px #fff;} +.ant-badge-count a, .ant-badge-count a:hover {color: #fff;} +.ant-badge-count-sm {border-radius: 7px;} +.ant-badge-dot {background: #ff4d4f;border-radius: 100%;box-shadow: 0 0 0 1px #fff;} +.ant-badge-status-dot {border-radius: 50%;} +.ant-badge-status-success {background-color: #52c41a;} +.ant-badge-status-processing {background-color: #1890ff;} +.ant-badge-status-processing::after {border: 1px solid #1890ff;border-radius: 50%;} +.ant-badge-status-default {background-color: #d9d9d9;} +.ant-badge-status-error {background-color: #ff4d4f;} +.ant-badge-status-warning {background-color: #faad14;} +.ant-badge-status-pink {background: #eb2f96;} +.ant-badge-status-magenta {background: #eb2f96;} +.ant-badge-status-red {background: #f5222d;} +.ant-badge-status-volcano {background: #fa541c;} +.ant-badge-status-orange {background: #fa8c16;} +.ant-badge-status-yellow {background: #fadb14;} +.ant-badge-status-gold {background: #faad14;} +.ant-badge-status-cyan {background: #13c2c2;} +.ant-badge-status-lime {background: #a0d911;} +.ant-badge-status-green {background: #52c41a;} +.ant-badge-status-blue {background: #1890ff;} +.ant-badge-status-geekblue {background: #2f54eb;} +.ant-badge-status-purple {background: #722ed1;} +.ant-badge-status-text {color: rgba(0, 0, 0, 0.85);} +.ant-ribbon {color: rgba(0, 0, 0, 0.85);color: #fff;background-color: #1890ff;border-radius: 2px;} +.ant-ribbon-text {color: #fff;} +.ant-ribbon-corner {color: currentColor;border: 4px solid;} +.ant-ribbon-corner::after {color: rgba(0, 0, 0, 0.25);border: inherit;} +.ant-ribbon-color-pink {color: #eb2f96;background: #eb2f96;} +.ant-ribbon-color-magenta {color: #eb2f96;background: #eb2f96;} +.ant-ribbon-color-red {color: #f5222d;background: #f5222d;} +.ant-ribbon-color-volcano {color: #fa541c;background: #fa541c;} +.ant-ribbon-color-orange {color: #fa8c16;background: #fa8c16;} +.ant-ribbon-color-yellow {color: #fadb14;background: #fadb14;} +.ant-ribbon-color-gold {color: #faad14;background: #faad14;} +.ant-ribbon-color-cyan {color: #13c2c2;background: #13c2c2;} +.ant-ribbon-color-lime {color: #a0d911;background: #a0d911;} +.ant-ribbon-color-green {color: #52c41a;background: #52c41a;} +.ant-ribbon-color-blue {color: #1890ff;background: #1890ff;} +.ant-ribbon-color-geekblue {color: #2f54eb;background: #2f54eb;} +.ant-ribbon-color-purple {color: #722ed1;background: #722ed1;} +.ant-ribbon.ant-ribbon-placement-end {border-bottom-right-radius: 0;} +.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner {border-color: currentColor transparent transparent currentColor;} +.ant-ribbon.ant-ribbon-placement-start {border-bottom-left-radius: 0;} +.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner {border-color: currentColor currentColor transparent transparent;} +.ant-ribbon-rtl.ant-ribbon-placement-end {border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner {border-color: currentColor currentColor transparent transparent;} +.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after {border-color: currentColor currentColor transparent transparent;} +.ant-ribbon-rtl.ant-ribbon-placement-start {border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner {border-color: currentColor transparent transparent currentColor;} +.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after {border-color: currentColor transparent transparent currentColor;} +.ant-breadcrumb {color: rgba(0, 0, 0, 0.85);color: rgba(0, 0, 0, 0.45);} +.ant-breadcrumb a {color: rgba(0, 0, 0, 0.45);} +.ant-breadcrumb a:hover {color: #40a9ff;} +.ant-breadcrumb > span:last-child {color: rgba(0, 0, 0, 0.85);} +.ant-breadcrumb > span:last-child a {color: rgba(0, 0, 0, 0.85);} +.ant-breadcrumb-separator {color: rgba(0, 0, 0, 0.45);} +.ant-breadcrumb > nz-breadcrumb-item:last-child {color: rgba(0, 0, 0, 0.85);} +.ant-breadcrumb > nz-breadcrumb-item:last-child a {color: rgba(0, 0, 0, 0.85);} +.ant-btn {background-image: none;border: 1px solid transparent;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);border-radius: 2px;color: rgba(0, 0, 0, 0.85);background: #fff;border-color: #d9d9d9;} +.ant-btn:not([disabled]):active {box-shadow: none;} +.ant-btn-lg {border-radius: 2px;} +.ant-btn-sm {border-radius: 2px;} +.ant-btn > a:only-child {color: currentColor;} +.ant-btn > a:only-child::after {background: transparent;} +.ant-btn:hover, .ant-btn:focus {color: #40a9ff;background: #fff;border-color: #40a9ff;} +.ant-btn:hover > a:only-child, .ant-btn:focus > a:only-child {color: currentColor;} +.ant-btn:hover > a:only-child::after, .ant-btn:focus > a:only-child::after {background: transparent;} +.ant-btn:active {color: #096dd9;background: #fff;border-color: #096dd9;} +.ant-btn:active > a:only-child {color: currentColor;} +.ant-btn:active > a:only-child::after {background: transparent;} +.ant-btn[disabled], .ant-btn[disabled]:hover, .ant-btn[disabled]:focus, .ant-btn[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn[disabled] > a:only-child, .ant-btn[disabled]:hover > a:only-child, .ant-btn[disabled]:focus > a:only-child, .ant-btn[disabled]:active > a:only-child {color: currentColor;} +.ant-btn[disabled] > a:only-child::after, .ant-btn[disabled]:hover > a:only-child::after, .ant-btn[disabled]:focus > a:only-child::after, .ant-btn[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn:hover, .ant-btn:focus, .ant-btn:active {background: #fff;} +.ant-btn-primary {color: #fff;background: #1890ff;border-color: #1890ff;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);} +.ant-btn-primary > a:only-child {color: currentColor;} +.ant-btn-primary > a:only-child::after {background: transparent;} +.ant-btn-primary:hover, .ant-btn-primary:focus {color: #fff;background: #40a9ff;border-color: #40a9ff;} +.ant-btn-primary:hover > a:only-child, .ant-btn-primary:focus > a:only-child {color: currentColor;} +.ant-btn-primary:hover > a:only-child::after, .ant-btn-primary:focus > a:only-child::after {background: transparent;} +.ant-btn-primary:active {color: #fff;background: #096dd9;border-color: #096dd9;} +.ant-btn-primary:active > a:only-child {color: currentColor;} +.ant-btn-primary:active > a:only-child::after {background: transparent;} +.ant-btn-primary[disabled], .ant-btn-primary[disabled]:hover, .ant-btn-primary[disabled]:focus, .ant-btn-primary[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-primary[disabled] > a:only-child, .ant-btn-primary[disabled]:hover > a:only-child, .ant-btn-primary[disabled]:focus > a:only-child, .ant-btn-primary[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-primary[disabled] > a:only-child::after, .ant-btn-primary[disabled]:hover > a:only-child::after, .ant-btn-primary[disabled]:focus > a:only-child::after, .ant-btn-primary[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) {border-right-color: #40a9ff;border-left-color: #40a9ff;} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled {border-color: #d9d9d9;} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {border-right-color: #40a9ff;} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] {border-right-color: #d9d9d9;} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child), .ant-btn-group .ant-btn-primary + .ant-btn-primary {border-left-color: #40a9ff;} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], .ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {border-left-color: #d9d9d9;} +.ant-btn-ghost {color: rgba(0, 0, 0, 0.85);background: transparent;border-color: #d9d9d9;} +.ant-btn-ghost > a:only-child {color: currentColor;} +.ant-btn-ghost > a:only-child::after {background: transparent;} +.ant-btn-ghost:hover, .ant-btn-ghost:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-ghost:hover > a:only-child, .ant-btn-ghost:focus > a:only-child {color: currentColor;} +.ant-btn-ghost:hover > a:only-child::after, .ant-btn-ghost:focus > a:only-child::after {background: transparent;} +.ant-btn-ghost:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-ghost:active > a:only-child {color: currentColor;} +.ant-btn-ghost:active > a:only-child::after {background: transparent;} +.ant-btn-ghost[disabled], .ant-btn-ghost[disabled]:hover, .ant-btn-ghost[disabled]:focus, .ant-btn-ghost[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-ghost[disabled] > a:only-child, .ant-btn-ghost[disabled]:hover > a:only-child, .ant-btn-ghost[disabled]:focus > a:only-child, .ant-btn-ghost[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-ghost[disabled] > a:only-child::after, .ant-btn-ghost[disabled]:hover > a:only-child::after, .ant-btn-ghost[disabled]:focus > a:only-child::after, .ant-btn-ghost[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dashed {color: rgba(0, 0, 0, 0.85);background: #fff;border-color: #d9d9d9;border-style: dashed;} +.ant-btn-dashed > a:only-child {color: currentColor;} +.ant-btn-dashed > a:only-child::after {background: transparent;} +.ant-btn-dashed:hover, .ant-btn-dashed:focus {color: #40a9ff;background: #fff;border-color: #40a9ff;} +.ant-btn-dashed:hover > a:only-child, .ant-btn-dashed:focus > a:only-child {color: currentColor;} +.ant-btn-dashed:hover > a:only-child::after, .ant-btn-dashed:focus > a:only-child::after {background: transparent;} +.ant-btn-dashed:active {color: #096dd9;background: #fff;border-color: #096dd9;} +.ant-btn-dashed:active > a:only-child {color: currentColor;} +.ant-btn-dashed:active > a:only-child::after {background: transparent;} +.ant-btn-dashed[disabled], .ant-btn-dashed[disabled]:hover, .ant-btn-dashed[disabled]:focus, .ant-btn-dashed[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dashed[disabled] > a:only-child, .ant-btn-dashed[disabled]:hover > a:only-child, .ant-btn-dashed[disabled]:focus > a:only-child, .ant-btn-dashed[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dashed[disabled] > a:only-child::after, .ant-btn-dashed[disabled]:hover > a:only-child::after, .ant-btn-dashed[disabled]:focus > a:only-child::after, .ant-btn-dashed[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-danger {color: #fff;background: #ff4d4f;border-color: #ff4d4f;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);} +.ant-btn-danger > a:only-child {color: currentColor;} +.ant-btn-danger > a:only-child::after {background: transparent;} +.ant-btn-danger:hover, .ant-btn-danger:focus {color: #fff;background: #ff7875;border-color: #ff7875;} +.ant-btn-danger:hover > a:only-child, .ant-btn-danger:focus > a:only-child {color: currentColor;} +.ant-btn-danger:hover > a:only-child::after, .ant-btn-danger:focus > a:only-child::after {background: transparent;} +.ant-btn-danger:active {color: #fff;background: #d9363e;border-color: #d9363e;} +.ant-btn-danger:active > a:only-child {color: currentColor;} +.ant-btn-danger:active > a:only-child::after {background: transparent;} +.ant-btn-danger[disabled], .ant-btn-danger[disabled]:hover, .ant-btn-danger[disabled]:focus, .ant-btn-danger[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-danger[disabled] > a:only-child, .ant-btn-danger[disabled]:hover > a:only-child, .ant-btn-danger[disabled]:focus > a:only-child, .ant-btn-danger[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-danger[disabled] > a:only-child::after, .ant-btn-danger[disabled]:hover > a:only-child::after, .ant-btn-danger[disabled]:focus > a:only-child::after, .ant-btn-danger[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-link {color: #1890ff;background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-link > a:only-child {color: currentColor;} +.ant-btn-link > a:only-child::after {background: transparent;} +.ant-btn-link:hover, .ant-btn-link:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-link:hover > a:only-child, .ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-link:hover > a:only-child::after, .ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-link:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-link[disabled], .ant-btn-link[disabled]:hover, .ant-btn-link[disabled]:focus, .ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-link[disabled] > a:only-child, .ant-btn-link[disabled]:hover > a:only-child, .ant-btn-link[disabled]:focus > a:only-child, .ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-link[disabled] > a:only-child::after, .ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-link:hover {background: transparent;} +.ant-btn-link:hover, .ant-btn-link:focus, .ant-btn-link:active {border-color: transparent;} +.ant-btn-link[disabled], .ant-btn-link[disabled]:hover, .ant-btn-link[disabled]:focus, .ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-link[disabled] > a:only-child, .ant-btn-link[disabled]:hover > a:only-child, .ant-btn-link[disabled]:focus > a:only-child, .ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-link[disabled] > a:only-child::after, .ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-text {color: rgba(0, 0, 0, 0.85);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-text > a:only-child {color: currentColor;} +.ant-btn-text > a:only-child::after {background: transparent;} +.ant-btn-text:hover, .ant-btn-text:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-text:hover > a:only-child, .ant-btn-text:focus > a:only-child {color: currentColor;} +.ant-btn-text:hover > a:only-child::after, .ant-btn-text:focus > a:only-child::after {background: transparent;} +.ant-btn-text:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-text:active > a:only-child {color: currentColor;} +.ant-btn-text:active > a:only-child::after {background: transparent;} +.ant-btn-text[disabled], .ant-btn-text[disabled]:hover, .ant-btn-text[disabled]:focus, .ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-text[disabled] > a:only-child, .ant-btn-text[disabled]:hover > a:only-child, .ant-btn-text[disabled]:focus > a:only-child, .ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-text[disabled] > a:only-child::after, .ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-text:hover, .ant-btn-text:focus {color: rgba(0, 0, 0, 0.85);background: rgba(0, 0, 0, 0.018);border-color: transparent;} +.ant-btn-text:active {color: rgba(0, 0, 0, 0.85);background: rgba(0, 0, 0, 0.028);border-color: transparent;} +.ant-btn-text[disabled], .ant-btn-text[disabled]:hover, .ant-btn-text[disabled]:focus, .ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-text[disabled] > a:only-child, .ant-btn-text[disabled]:hover > a:only-child, .ant-btn-text[disabled]:focus > a:only-child, .ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-text[disabled] > a:only-child::after, .ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous {color: #ff4d4f;background: #fff;border-color: #ff4d4f;} +.ant-btn-dangerous > a:only-child {color: currentColor;} +.ant-btn-dangerous > a:only-child::after {background: transparent;} +.ant-btn-dangerous:hover, .ant-btn-dangerous:focus {color: #ff7875;background: #fff;border-color: #ff7875;} +.ant-btn-dangerous:hover > a:only-child, .ant-btn-dangerous:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous:hover > a:only-child::after, .ant-btn-dangerous:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous:active {color: #d9363e;background: #fff;border-color: #d9363e;} +.ant-btn-dangerous:active > a:only-child {color: currentColor;} +.ant-btn-dangerous:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous[disabled], .ant-btn-dangerous[disabled]:hover, .ant-btn-dangerous[disabled]:focus, .ant-btn-dangerous[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous[disabled] > a:only-child, .ant-btn-dangerous[disabled]:hover > a:only-child, .ant-btn-dangerous[disabled]:focus > a:only-child, .ant-btn-dangerous[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous[disabled] > a:only-child::after, .ant-btn-dangerous[disabled]:hover > a:only-child::after, .ant-btn-dangerous[disabled]:focus > a:only-child::after, .ant-btn-dangerous[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary {color: #fff;background: #ff4d4f;border-color: #ff4d4f;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);} +.ant-btn-dangerous.ant-btn-primary > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary:hover, .ant-btn-dangerous.ant-btn-primary:focus {color: #fff;background: #ff7875;border-color: #ff7875;} +.ant-btn-dangerous.ant-btn-primary:hover > a:only-child, .ant-btn-dangerous.ant-btn-primary:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary:active {color: #fff;background: #d9363e;border-color: #d9363e;} +.ant-btn-dangerous.ant-btn-primary:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary[disabled], .ant-btn-dangerous.ant-btn-primary[disabled]:hover, .ant-btn-dangerous.ant-btn-primary[disabled]:focus, .ant-btn-dangerous.ant-btn-primary[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link {color: #ff4d4f;background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-link > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:hover, .ant-btn-dangerous.ant-btn-link:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child, .ant-btn-dangerous.ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-dangerous.ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:hover, .ant-btn-dangerous.ant-btn-link:focus {color: #ff7875;background: transparent;border-color: transparent;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child, .ant-btn-dangerous.ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:active {color: #d9363e;background: transparent;border-color: transparent;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-dangerous.ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text {color: #ff4d4f;background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-text > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:hover, .ant-btn-dangerous.ant-btn-text:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child, .ant-btn-dangerous.ant-btn-text:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text[disabled], .ant-btn-dangerous.ant-btn-text[disabled]:hover, .ant-btn-dangerous.ant-btn-text[disabled]:focus, .ant-btn-dangerous.ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:hover, .ant-btn-dangerous.ant-btn-text:focus {color: #ff7875;background: rgba(0, 0, 0, 0.018);border-color: transparent;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child, .ant-btn-dangerous.ant-btn-text:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:active {color: #d9363e;background: rgba(0, 0, 0, 0.028);border-color: transparent;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text[disabled], .ant-btn-dangerous.ant-btn-text[disabled]:hover, .ant-btn-dangerous.ant-btn-text[disabled]:focus, .ant-btn-dangerous.ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-icon-only {border-radius: 2px;} +.ant-btn-icon-only.ant-btn-lg {border-radius: 2px;} +.ant-btn-icon-only.ant-btn-sm {border-radius: 2px;} +.ant-btn-round {border-radius: 32px;} +.ant-btn-round.ant-btn-lg {border-radius: 40px;} +.ant-btn-round.ant-btn-sm {border-radius: 24px;} +.ant-btn-circle {border-radius: 50%;} +.ant-btn-circle.ant-btn-lg {border-radius: 50%;} +.ant-btn-circle.ant-btn-sm {border-radius: 50%;} +.ant-btn::before {background: #fff;border-radius: inherit;} +.ant-btn-group-lg > .ant-btn, .ant-btn-group-lg > span > .ant-btn {border-radius: 0;} +.ant-btn-group-sm > .ant-btn, .ant-btn-group-sm > span > .ant-btn {border-radius: 0;} +.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) {border-left-color: transparent;} +.ant-btn-group .ant-btn {border-radius: 0;} +.ant-btn-group > .ant-btn:only-child {border-radius: 2px;} +.ant-btn-group > span:only-child > .ant-btn {border-radius: 2px;} +.ant-btn-group > .ant-btn:first-child:not(:last-child), .ant-btn-group > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-btn-group > .ant-btn:last-child:not(:first-child), .ant-btn-group > span:last-child:not(:first-child) > .ant-btn {border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-btn-group-sm > .ant-btn:only-child {border-radius: 2px;} +.ant-btn-group-sm > span:only-child > .ant-btn {border-radius: 2px;} +.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), .ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), .ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn {border-radius: 0;} +.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child), .ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 0;border-top-right-radius: 2px;border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {border-top-left-radius: 2px;border-top-right-radius: 0;border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), .ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 0;border-top-right-radius: 2px;border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {border-top-left-radius: 2px;border-top-right-radius: 0;border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-btn-background-ghost {color: #fff;background: transparent !important;border-color: #fff;} +.ant-btn-background-ghost.ant-btn-primary {color: #1890ff;background: transparent;border-color: #1890ff;} +.ant-btn-background-ghost.ant-btn-primary > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-primary:hover, .ant-btn-background-ghost.ant-btn-primary:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, .ant-btn-background-ghost.ant-btn-primary:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-primary:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-primary[disabled], .ant-btn-background-ghost.ant-btn-primary[disabled]:hover, .ant-btn-background-ghost.ant-btn-primary[disabled]:focus, .ant-btn-background-ghost.ant-btn-primary[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger {color: #ff4d4f;background: transparent;border-color: #ff4d4f;} +.ant-btn-background-ghost.ant-btn-danger > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger:hover, .ant-btn-background-ghost.ant-btn-danger:focus {color: #ff7875;background: transparent;border-color: #ff7875;} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, .ant-btn-background-ghost.ant-btn-danger:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger:active {color: #d9363e;background: transparent;border-color: #d9363e;} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger[disabled], .ant-btn-background-ghost.ant-btn-danger[disabled]:hover, .ant-btn-background-ghost.ant-btn-danger[disabled]:focus, .ant-btn-background-ghost.ant-btn-danger[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous {color: #ff4d4f;background: transparent;border-color: #ff4d4f;} +.ant-btn-background-ghost.ant-btn-dangerous > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous:hover, .ant-btn-background-ghost.ant-btn-dangerous:focus {color: #ff7875;background: transparent;border-color: #ff7875;} +.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous:active {color: #d9363e;background: transparent;border-color: #d9363e;} +.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous[disabled], .ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link {color: #ff4d4f;background: transparent;border-color: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus {color: #ff7875;background: transparent;border-color: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active {color: #d9363e;background: transparent;border-color: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary {border-right-color: #40a9ff;border-left-color: #d9d9d9;} +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], .ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {border-right-color: #d9d9d9;border-left-color: #40a9ff;} +.ant-card {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-card-hoverable:hover {border-color: transparent;box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);} +.ant-card-bordered {border: 1px solid #f0f0f0;} +.ant-card-head {color: rgba(0, 0, 0, 0.85);background: transparent;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-card-head .ant-tabs {color: rgba(0, 0, 0, 0.85);} +.ant-card-head .ant-tabs-bar {border-bottom: 1px solid #f0f0f0;} +.ant-card-extra {color: rgba(0, 0, 0, 0.85);} +.ant-card-grid {border: 0;border-radius: 0;box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset;} +.ant-card-grid-hoverable:hover {box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);} +.ant-card-cover img {border-radius: 2px 2px 0 0;} +.ant-card-actions {background: #fff;border-top: 1px solid #f0f0f0;} +.ant-card-actions > li {color: rgba(0, 0, 0, 0.45);} +.ant-card-actions > li > span:hover {color: #1890ff;} +.ant-card-actions > li > span a:not(.ant-btn), .ant-card-actions > li > span > .anticon {color: rgba(0, 0, 0, 0.45);} +.ant-card-actions > li > span a:not(.ant-btn):hover, .ant-card-actions > li > span > .anticon:hover {color: #1890ff;} +.ant-card-actions > li:not(:last-child) {border-right: 1px solid #f0f0f0;} +.ant-card-rtl .ant-card-actions > li:not(:last-child) {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-card-type-inner .ant-card-head {background: #fafafa;} +.ant-card-meta-title {color: rgba(0, 0, 0, 0.85);} +.ant-card-meta-description {color: rgba(0, 0, 0, 0.45);} +.ant-card-loading-block {background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2));background-size: 600% 600%;border-radius: 2px;} +.ant-carousel {color: rgba(0, 0, 0, 0.85);} +.ant-carousel .slick-slider {-webkit-tap-highlight-color: transparent;} +.ant-carousel .slick-prev, .ant-carousel .slick-next {color: transparent;background: transparent;border: 0;} +.ant-carousel .slick-prev:hover, .ant-carousel .slick-next:hover, .ant-carousel .slick-prev:focus, .ant-carousel .slick-next:focus {color: transparent;background: transparent;} +.ant-carousel .slick-dots li button {color: transparent;background: #fff;border: 0;border-radius: 1px;} +.ant-carousel .slick-dots li.slick-active button {background: #fff;} +.ant-checkbox {color: rgba(0, 0, 0, 0.85);} +.ant-checkbox-wrapper:hover .ant-checkbox-inner, .ant-checkbox:hover .ant-checkbox-inner, .ant-checkbox-input:focus + .ant-checkbox-inner {border-color: #1890ff;} +.ant-checkbox-checked::after {border: 1px solid #1890ff;border-radius: 2px;} +.ant-checkbox-inner {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;border-collapse: separate;} +.ant-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-checkbox-checked .ant-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-checkbox-checked .ant-checkbox-inner {background-color: #1890ff;border-color: #1890ff;} +.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after {border-color: rgba(0, 0, 0, 0.25);} +.ant-checkbox-disabled .ant-checkbox-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-checkbox-disabled .ant-checkbox-inner::after {border-color: #f5f5f5;border-collapse: separate;} +.ant-checkbox-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-checkbox-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-checkbox-group {color: rgba(0, 0, 0, 0.85);} +.ant-checkbox-indeterminate .ant-checkbox-inner {background-color: #fff;border-color: #d9d9d9;} +.ant-checkbox-indeterminate .ant-checkbox-inner::after {background-color: #1890ff;border: 0;} +.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after {background-color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-collapse {color: rgba(0, 0, 0, 0.85);background-color: #fafafa;border: 1px solid #d9d9d9;border-bottom: 0;border-radius: 2px;} +.ant-collapse > .ant-collapse-item {border-bottom: 1px solid #d9d9d9;} +.ant-collapse > .ant-collapse-item:last-child, .ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header {border-radius: 0 0 2px 2px;} +.ant-collapse > .ant-collapse-item > .ant-collapse-header {color: rgba(0, 0, 0, 0.85);} +.ant-collapse-content {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-top: 1px solid #d9d9d9;} +.ant-collapse-item:last-child > .ant-collapse-content {border-radius: 0 0 2px 2px;} +.ant-collapse-borderless {background-color: #fafafa;border: 0;} +.ant-collapse-borderless > .ant-collapse-item {border-bottom: 1px solid #d9d9d9;} +.ant-collapse-borderless > .ant-collapse-item:last-child, .ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header {border-radius: 0;} +.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content {background-color: transparent;border-top: 0;} +.ant-collapse-ghost {background-color: transparent;border: 0;} +.ant-collapse-ghost > .ant-collapse-item {border-bottom: 0;} +.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content {background-color: transparent;border-top: 0;} +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, .ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow {color: rgba(0, 0, 0, 0.25);} +.ant-comment {background-color: inherit;} +.ant-comment-avatar img {border-radius: 50%;} +.ant-comment-content-author-name {color: rgba(0, 0, 0, 0.45);} +.ant-comment-content-author-name > * {color: rgba(0, 0, 0, 0.45);} +.ant-comment-content-author-name > *:hover {color: rgba(0, 0, 0, 0.45);} +.ant-comment-content-author-time {color: #ccc;} +.ant-comment-actions > li {color: rgba(0, 0, 0, 0.45);} +.ant-comment-actions > li > span {color: rgba(0, 0, 0, 0.45);} +.ant-comment-actions > li > span:hover {color: #595959;} +.ant-picker {color: rgba(0, 0, 0, 0.85);background: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-picker:hover, .ant-picker-focused {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-picker:hover, .ant-input-rtl .ant-picker-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-picker-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker.ant-picker-disabled {background: #f5f5f5;border-color: #d9d9d9;} +.ant-picker.ant-picker-disabled .ant-picker-suffix {color: rgba(0, 0, 0, 0.25);} +.ant-picker.ant-picker-borderless {background-color: transparent !important;border-color: transparent !important;box-shadow: none !important;} +.ant-picker-input > input {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;background: transparent;border: 0;} +.ant-picker-input > input::placeholder {color: #bfbfbf;} +.ant-picker-input > input::placeholder {color: #bfbfbf;} +.ant-picker-input > input:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-picker-input > input:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker-input > input:focus, .ant-picker-input > input-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-picker-input > input:focus, .ant-input-rtl .ant-picker-input > input-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker-input > input-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-picker-input > input-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-picker-input > input[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-picker-input > input[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-picker-input > input-borderless, .ant-picker-input > input-borderless:hover, .ant-picker-input > input-borderless:focus, .ant-picker-input > input-borderless-focused, .ant-picker-input > input-borderless-disabled, .ant-picker-input > input-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-picker-input > input:focus {box-shadow: none;} +.ant-picker-input > input[disabled] {background: transparent;} +.ant-picker-input-placeholder > input {color: #bfbfbf;} +.ant-picker-suffix {color: rgba(0, 0, 0, 0.25);} +.ant-picker-clear {color: rgba(0, 0, 0, 0.25);background: #fff;} +.ant-picker-clear:hover {color: rgba(0, 0, 0, 0.45);} +.ant-picker-separator {color: rgba(0, 0, 0, 0.25);} +.ant-picker-focused .ant-picker-separator {color: rgba(0, 0, 0, 0.45);} +.ant-picker-range .ant-picker-active-bar {background: #1890ff;} +.ant-picker-dropdown {color: rgba(0, 0, 0, 0.85);} +.ant-picker-ranges .ant-picker-preset > .ant-tag-blue {color: #1890ff;background: #e6f7ff;border-color: #91d5ff;} +.ant-picker-range-arrow {box-shadow: 2px -2px 6px rgba(0, 0, 0, 0.06);} +.ant-picker-range-arrow::after {border: 5px solid #f0f0f0;border-color: #fff #fff transparent transparent;} +.ant-picker-panel-container {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-picker-panel-container .ant-picker-panel {background: transparent;border-width: 0 0 1px 0;border-radius: 0;} +.ant-picker-panel-container .ant-picker-panel-focused {border-color: #f0f0f0;} +.ant-picker-panel {background: #fff;border: 1px solid #f0f0f0;border-radius: 2px;} +.ant-picker-panel-focused {border-color: #1890ff;} +.ant-picker-header {color: rgba(0, 0, 0, 0.85);border-bottom: 1px solid #f0f0f0;} +.ant-picker-header button {color: rgba(0, 0, 0, 0.25);background: transparent;border: 0;} +.ant-picker-header > button:hover {color: rgba(0, 0, 0, 0.85);} +.ant-picker-header-view button {color: inherit;} +.ant-picker-header-view button:hover {color: #1890ff;} +.ant-picker-prev-icon::before, .ant-picker-next-icon::before, .ant-picker-super-prev-icon::before, .ant-picker-super-next-icon::before {border: 0 solid currentColor;border-width: 1.5px 0 0 1.5px;} +.ant-picker-super-prev-icon::after, .ant-picker-super-next-icon::after {border: 0 solid currentColor;border-width: 1.5px 0 0 1.5px;} +.ant-picker-content {border-collapse: collapse;} +.ant-picker-content th {color: rgba(0, 0, 0, 0.85);} +.ant-picker-cell {color: rgba(0, 0, 0, 0.25);} +.ant-picker-cell-in-view {color: rgba(0, 0, 0, 0.85);} +.ant-picker-cell .ant-picker-cell-inner {border-radius: 2px;} +.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, .ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner {background: #f5f5f5;} +.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {border: 1px solid #1890ff;border-radius: 2px;} +.ant-picker-cell-in-view.ant-picker-cell-in-range::before {background: #e6f7ff;} +.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner, .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner, .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {color: #fff;background: #1890ff;} +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before, .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before {background: #e6f7ff;} +.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after {border-top: 1px dashed #7ec1ff;border-bottom: 1px dashed #7ec1ff;} +.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before, .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before, .ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before, .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before, .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before, .ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before, .ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before {background: #cbe6ff;} +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {border-radius: 2px 0 0 2px;} +.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner {border-radius: 0 2px 2px 0;} +.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after, .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after {background: #cbe6ff;} +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after, +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after {border-left: 1px dashed #7ec1ff;border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after, +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after {border-right: 1px dashed #7ec1ff;border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-picker-cell-disabled .ant-picker-cell-inner {color: rgba(0, 0, 0, 0.25);background: transparent;} +.ant-picker-cell-disabled::before {background: #f5f5f5;} +.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before {border-color: rgba(0, 0, 0, 0.25);} +.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner, .ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner, .ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner, .ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner {background: #f5f5f5;} +.ant-picker-footer {border-bottom: 1px solid transparent;} +.ant-picker-panel .ant-picker-footer {border-top: 1px solid #f0f0f0;} +.ant-picker-footer-extra:not(:last-child) {border-bottom: 1px solid #f0f0f0;} +.ant-picker-today-btn {color: #1890ff;} +.ant-picker-today-btn:hover {color: #40a9ff;} +.ant-picker-today-btn:active {color: #096dd9;} +.ant-picker-today-btn.ant-picker-today-btn-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-picker-year-panel .ant-picker-cell-range-hover-start::after, .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, .ant-picker-month-panel .ant-picker-cell-range-hover-start::after {border-left: 1px dashed #7ec1ff;border-radius: 2px 0 0 2px;} +.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after, .ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, .ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after {border-right: 1px dashed #7ec1ff;border-radius: 0 2px 2px 0;} +.ant-picker-year-panel .ant-picker-cell-range-hover-end::after, .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, .ant-picker-month-panel .ant-picker-cell-range-hover-end::after {border-right: 1px dashed #7ec1ff;border-radius: 0 2px 2px 0;} +.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after, .ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, .ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after {border-left: 1px dashed #7ec1ff;border-radius: 2px 0 0 2px;} +.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner, .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner, .ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner {background: transparent !important;} +.ant-picker-week-panel-row:hover td {background: #f5f5f5;} +.ant-picker-week-panel-row-selected td, .ant-picker-week-panel-row-selected:hover td {background: #1890ff;} +.ant-picker-week-panel-row-selected td.ant-picker-cell-week, .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week {color: rgba(255, 255, 255, 0.5);} +.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before, .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before {border-color: #fff;} +.ant-picker-week-panel-row-selected td .ant-picker-cell-inner, .ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner {color: #fff;} +.ant-picker-datetime-panel .ant-picker-time-panel {border-left: 1px solid #f0f0f0;} +.ant-picker-time-panel-column:not(:first-child) {border-left: 1px solid #f0f0f0;} +.ant-picker-time-panel-column-active {background: rgba(230, 247, 255, 0.2);} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner {color: rgba(0, 0, 0, 0.85);border-radius: 0;} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover {background: #f5f5f5;} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {background: #e6f7ff;} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner {color: rgba(0, 0, 0, 0.25);background: transparent;} +.ant-picker-cell .ant-picker-cell-inner {border-radius: 2px;} +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {border-radius: 0 2px 2px 0;} +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner {border-radius: 2px 0 0 2px;} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after {border-right: 1px dashed #7ec1ff;border-left: none;border-top-left-radius: 0;border-top-right-radius: 2px;border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after {border-right: none;border-left: 1px dashed #7ec1ff;border-top-left-radius: 2px;border-top-right-radius: 0;border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, .ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after, .ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after, .ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after {border-right: 1px dashed #7ec1ff;border-left: 1px dashed #7ec1ff;border-radius: 2px;} +.ant-picker-inline {border: none;} +.ant-descriptions-title {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-extra {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-view {border-radius: 2px;} +.ant-descriptions-row:last-child {border-bottom: none;} +.ant-descriptions-item-label {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-item-content {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-bordered .ant-descriptions-view {border: 1px solid #f0f0f0;} +.ant-descriptions-bordered .ant-descriptions-item-label, .ant-descriptions-bordered .ant-descriptions-item-content {border-right: 1px solid #f0f0f0;} +.ant-descriptions-bordered .ant-descriptions-item-label:last-child, .ant-descriptions-bordered .ant-descriptions-item-content:last-child {border-right: none;} +.ant-descriptions-bordered .ant-descriptions-item-label {background-color: #fafafa;} +.ant-descriptions-bordered .ant-descriptions-row {border-bottom: 1px solid #f0f0f0;} +.ant-descriptions-bordered .ant-descriptions-row:last-child {border-bottom: none;} +.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label, .ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child, .ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child {border-left: none;} +.ant-divider {color: rgba(0, 0, 0, 0.85);border-top: 1px solid rgba(0, 0, 0, 0.06);} +.ant-divider-vertical {border-top: 0;border-left: 1px solid rgba(0, 0, 0, 0.06);} +.ant-divider-horizontal.ant-divider-with-text {color: rgba(0, 0, 0, 0.85);border-top: 0;border-top-color: rgba(0, 0, 0, 0.06);} +.ant-divider-horizontal.ant-divider-with-text::before, .ant-divider-horizontal.ant-divider-with-text::after {border-top: 1px solid transparent;border-top-color: inherit;border-bottom: 0;} +.ant-divider-dashed {background: none;border-color: rgba(0, 0, 0, 0.06);border-style: dashed;border-width: 1px 0 0;} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed {border-top: 0;} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before, .ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after {border-style: dashed none none;} +.ant-divider-vertical.ant-divider-dashed {border-width: 0 0 0 1px;} +.ant-divider-plain.ant-divider-with-text {color: rgba(0, 0, 0, 0.85);} +.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), 0 -12px 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-title {color: rgba(0, 0, 0, 0.85);} +.ant-drawer-content {background-color: #fff;background-clip: padding-box;border: 0;} +.ant-drawer-close {color: rgba(0, 0, 0, 0.45);background: transparent;border: 0;} +.ant-drawer-close:focus, .ant-drawer-close:hover {color: rgba(0, 0, 0, 0.75);} +.ant-drawer-header {color: rgba(0, 0, 0, 0.85);background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-drawer-header-no-title {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-drawer-footer {border-top: 1px solid #f0f0f0;} +.ant-drawer-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-drawer-open-content {box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-drawer .ant-picker-clear {background: #fff;} +.ant-dropdown-menu-item.ant-dropdown-menu-item-danger {color: #ff4d4f;} +.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover {color: #fff;background-color: #ff4d4f;} +.ant-dropdown {color: rgba(0, 0, 0, 0.85);} +.ant-dropdown-arrow {background: transparent;border-style: solid;border-width: 4.24264069px;} +.ant-dropdown-placement-topCenter > .ant-dropdown-arrow, .ant-dropdown-placement-topLeft > .ant-dropdown-arrow, .ant-dropdown-placement-topRight > .ant-dropdown-arrow {border-top-color: transparent;border-right-color: #fff;border-bottom-color: #fff;border-left-color: transparent;box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-dropdown-placement-bottomCenter > .ant-dropdown-arrow, .ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow, .ant-dropdown-placement-bottomRight > .ant-dropdown-arrow {border-top-color: #fff;border-right-color: transparent;border-bottom-color: transparent;border-left-color: #fff;box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06);} +.ant-dropdown-menu {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-dropdown-menu-item-group-title {color: rgba(0, 0, 0, 0.45);} +.ant-dropdown-menu-submenu-popup {background: transparent;box-shadow: none;} +.ant-dropdown-menu-title-content > a {color: inherit;} +.ant-dropdown-menu-title-content > a:hover {color: inherit;} +.ant-dropdown-menu-item, .ant-dropdown-menu-submenu-title {color: rgba(0, 0, 0, 0.85);} +.ant-dropdown-menu-item-selected, .ant-dropdown-menu-submenu-title-selected {color: #1890ff;background-color: #e6f7ff;} +.ant-dropdown-menu-item:hover, .ant-dropdown-menu-submenu-title:hover {background-color: #f5f5f5;} +.ant-dropdown-menu-item-disabled, .ant-dropdown-menu-submenu-title-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-dropdown-menu-item-disabled:hover, .ant-dropdown-menu-submenu-title-disabled:hover {color: rgba(0, 0, 0, 0.25);background-color: #fff;} +.ant-dropdown-menu-item-divider, .ant-dropdown-menu-submenu-title-divider {background-color: #f0f0f0;} +.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon, .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon {color: rgba(0, 0, 0, 0.45);} +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon {color: rgba(0, 0, 0, 0.25);background-color: #fff;} +.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title {color: #1890ff;} +.ant-dropdown-menu-dark, .ant-dropdown-menu-dark .ant-dropdown-menu {background: #001529;} +.ant-dropdown-menu-dark .ant-dropdown-menu-item, .ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, .ant-dropdown-menu-dark .ant-dropdown-menu-item > a, .ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a {color: rgba(255, 255, 255, 0.65);} +.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after, .ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after, .ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow::after, .ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a .ant-dropdown-menu-submenu-arrow::after {color: rgba(255, 255, 255, 0.65);} +.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a:hover {color: #fff;background: transparent;} +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {color: #fff;background: #1890ff;} +.ant-empty-normal {color: rgba(0, 0, 0, 0.25);} +.ant-empty-small {color: rgba(0, 0, 0, 0.25);} +.ant-input-affix-wrapper {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input-affix-wrapper::placeholder {color: #bfbfbf;} +.ant-input-affix-wrapper::placeholder {color: #bfbfbf;} +.ant-input-affix-wrapper:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input-affix-wrapper:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-affix-wrapper:focus, .ant-input-affix-wrapper-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input-affix-wrapper:focus, .ant-input-rtl .ant-input-affix-wrapper-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-affix-wrapper-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-affix-wrapper-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-affix-wrapper[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-affix-wrapper[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-affix-wrapper-borderless, .ant-input-affix-wrapper-borderless:hover, .ant-input-affix-wrapper-borderless:focus, .ant-input-affix-wrapper-borderless-focused, .ant-input-affix-wrapper-borderless-disabled, .ant-input-affix-wrapper-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-affix-wrapper-disabled .ant-input[disabled] {background: transparent;} +.ant-input-affix-wrapper > input.ant-input {border: none;} +.ant-input-affix-wrapper > input.ant-input:focus {box-shadow: none;} +.ant-input-clear-icon {color: rgba(0, 0, 0, 0.25);} +.ant-input-clear-icon:hover {color: rgba(0, 0, 0, 0.45);} +.ant-input-clear-icon:active {color: rgba(0, 0, 0, 0.85);} +.ant-input-affix-wrapper-textarea-with-clear-btn {border: 0 !important;} +.ant-input {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input::placeholder {color: #bfbfbf;} +.ant-input::placeholder {color: #bfbfbf;} +.ant-input:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input:focus, .ant-input-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input:focus, .ant-input-rtl .ant-input-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-borderless, .ant-input-borderless:hover, .ant-input-borderless:focus, .ant-input-borderless-focused, .ant-input-borderless-disabled, .ant-input-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-input-group {color: rgba(0, 0, 0, 0.85);border-collapse: separate;border-spacing: 0;} +.ant-input-group-addon:not(:first-child):not(:last-child), .ant-input-group-wrap:not(:first-child):not(:last-child), .ant-input-group > .ant-input:not(:first-child):not(:last-child) {border-radius: 0;} +.ant-input-group .ant-input:focus {border-right-width: 1px;} +.ant-input-group .ant-input:hover {border-right-width: 1px;} +.ant-input-group-addon {color: rgba(0, 0, 0, 0.85);background-color: #fafafa;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {background-color: inherit;border: 1px solid transparent;box-shadow: none;} +.ant-input-group-addon .ant-select-open .ant-select-selector, .ant-input-group-addon .ant-select-focused .ant-select-selector {color: #1890ff;} +.ant-input-group > .ant-input:first-child, .ant-input-group-addon:first-child {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector, .ant-input-group-addon:first-child .ant-select .ant-select-selector {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-group-addon:first-child {border-right: 0;} +.ant-input-group-addon:last-child {border-left: 0;} +.ant-input-group > .ant-input:last-child, .ant-input-group-addon:last-child {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector, .ant-input-group-addon:last-child .ant-select .ant-select-selector {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group .ant-input-affix-wrapper:not(:first-child) {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), .ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), .ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) {border-right-width: 1px;} +.ant-input-group.ant-input-group-compact > * {border-radius: 0;} +.ant-input-group.ant-input-group-compact > *:not(:last-child) {border-right-width: 1px;} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector, .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input {border-right-width: 1px;border-radius: 0;} +.ant-input-group.ant-input-group-compact > *:first-child, .ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, .ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-input-group.ant-input-group-compact > *:last-child, .ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, .ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {border-right-width: 1px;border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper {border-radius: 0;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button {border-radius: 0;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 2px 0 0 2px;} +.ant-input-group > .ant-input-rtl:first-child, .ant-input-group-rtl .ant-input-group-addon:first-child {border-radius: 0 2px 2px 0;} +.ant-input-group-rtl .ant-input-group-addon:first-child {border-right: 1px solid #d9d9d9;border-left: 0;} +.ant-input-group-rtl .ant-input-group-addon:last-child {border-right: 0;border-left: 1px solid #d9d9d9;} +.ant-input-group-rtl.ant-input-group > .ant-input:last-child, .ant-input-group-rtl.ant-input-group-addon:last-child {border-radius: 2px 0 0 2px;} +.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) {border-radius: 2px 0 0 2px;} +.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-radius: 0 2px 2px 0;} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) {border-left-width: 1px;} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {border-radius: 0 2px 2px 0;} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {border-left-width: 1px;border-radius: 2px 0 0 2px;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 0 2px 2px 0;} +.ant-input-password-icon {color: rgba(0, 0, 0, 0.45);} +.ant-input-password-icon:hover {color: rgba(0, 0, 0, 0.85);} +.ant-input-textarea-show-count::after {color: rgba(0, 0, 0, 0.45);} +.ant-input-search .ant-input:hover, .ant-input-search .ant-input:focus {border-color: #40a9ff;} +.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), .ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {border-left-color: #40a9ff;} +.ant-input-search .ant-input-affix-wrapper {border-radius: 0;} +.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child {border: 0;} +.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {border-radius: 0 2px 2px 0;} +.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) {color: rgba(0, 0, 0, 0.45);} +.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input {border: none;} +.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), .ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {border-right-color: #40a9ff;border-left-color: #d9d9d9;} +.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover, .ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused {border-right-color: #40a9ff;} +.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon .ant-input-search-button {border-radius: 2px 0 0 2px;} +.ant-input-number {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input-number::placeholder {color: #bfbfbf;} +.ant-input-number::placeholder {color: #bfbfbf;} +.ant-input-number:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input-number:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-number:focus, .ant-input-number-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input-number:focus, .ant-input-rtl .ant-input-number-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-number-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-number-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-number[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-number[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-number-borderless, .ant-input-number-borderless:hover, .ant-input-number-borderless:focus, .ant-input-number-borderless-focused, .ant-input-number-borderless-disabled, .ant-input-number-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-input-number-handler {color: rgba(0, 0, 0, 0.45);} +.ant-input-number-handler:active {background: #f4f4f4;} +.ant-input-number-handler:hover .ant-input-number-handler-up-inner, .ant-input-number-handler:hover .ant-input-number-handler-down-inner {color: #40a9ff;} +.ant-input-number-handler-up-inner, .ant-input-number-handler-down-inner {color: inherit;color: rgba(0, 0, 0, 0.45);} +.ant-input-number:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-number-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input-number-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-number-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-number-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-number-input {background-color: transparent;border: 0;border-radius: 2px;} +.ant-input-number-input::placeholder {color: #bfbfbf;} +.ant-input-number-input::placeholder {color: #bfbfbf;} +.ant-input-number-handler-wrap {background: #fff;border-left: 1px solid #d9d9d9;border-radius: 0 2px 2px 0;} +.ant-input-number-borderless .ant-input-number-handler-wrap {border-left-width: 0;} +.ant-input-number-handler-up {border-top-right-radius: 2px;} +.ant-input-number-handler-down {border-top: 1px solid #d9d9d9;border-bottom-right-radius: 2px;} +.ant-input-number-borderless .ant-input-number-handler-down {border-top-width: 0;} +.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, .ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner {color: rgba(0, 0, 0, 0.25);} +.ant-input-number-borderless {box-shadow: none;} +.ant-input-number-out-of-range input {color: #ff4d4f;} +.ant-input-number-rtl .ant-input-number-handler-wrap {border-right: 1px solid #d9d9d9;border-left: 0;border-radius: 2px 0 0 2px;} +.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap {border-right-width: 0;} +.ant-layout {background: #f8f8f8;} +.ant-layout-header {color: rgba(0, 0, 0, 0.85);background: #001529;} +.ant-layout-footer {color: rgba(0, 0, 0, 0.85);background: #f8f8f8;} +.ant-layout-sider {background: #001529;} +.ant-layout-sider-trigger {color: #fff;background: #002140;} +.ant-layout-sider-zero-width-trigger {color: #fff;background: #001529;border-radius: 0 2px 2px 0;} +.ant-layout-sider-zero-width-trigger::after {background: transparent;} +.ant-layout-sider-zero-width-trigger:hover::after {background: rgba(255, 255, 255, 0.1);} +.ant-layout-sider-zero-width-trigger-right {border-radius: 2px 0 0 2px;} +.ant-layout-sider-light {background: #fff;} +.ant-layout-sider-light .ant-layout-sider-trigger {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-layout-sider-light .ant-layout-sider-zero-width-trigger {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-form-item .ant-upload {background: transparent;} +.ant-form-item .ant-upload.ant-upload-drag {background: #fafafa;} +.ant-form-item-explain.ant-form-item-explain-error {color: #ff4d4f;} +.ant-form-item-explain.ant-form-item-explain-warning {color: #faad14;} +.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon {color: #52c41a;} +.ant-form-item-has-warning .ant-form-item-split {color: #faad14;} +.ant-form-item-has-warning .ant-input:not(.ant-input-disabled), .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled), .ant-form-item-has-warning .ant-input:not(.ant-input-disabled):hover, .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {background-color: #fff;border-color: #faad14;} +.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):focus, .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus, .ant-form-item-has-warning .ant-input:not(.ant-input-disabled)-focused, .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-input-prefix {color: #faad14;} +.ant-form-item-has-warning .ant-input-group-addon {color: #faad14;border-color: #faad14;} +.ant-form-item-has-warning .has-feedback {color: #faad14;} +.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon {color: #faad14;} +.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector {background-color: #fff;border-color: #faad14 !important;} +.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector, .ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-input-number, .ant-form-item-has-warning .ant-picker {background-color: #fff;border-color: #faad14;} +.ant-form-item-has-warning .ant-input-number-focused, .ant-form-item-has-warning .ant-picker-focused, .ant-form-item-has-warning .ant-input-number:focus, .ant-form-item-has-warning .ant-picker:focus {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-input-number:not([disabled]):hover, .ant-form-item-has-warning .ant-picker:not([disabled]):hover {background-color: #fff;border-color: #faad14;} +.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-error .ant-form-item-split {color: #ff4d4f;} +.ant-form-item-has-error .ant-input:not(.ant-input-disabled), .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled), .ant-form-item-has-error .ant-input:not(.ant-input-disabled):hover, .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-input:not(.ant-input-disabled):focus, .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus, .ant-form-item-has-error .ant-input:not(.ant-input-disabled)-focused, .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-input-prefix {color: #ff4d4f;} +.ant-form-item-has-error .ant-input-group-addon {color: #ff4d4f;border-color: #ff4d4f;} +.ant-form-item-has-error .has-feedback {color: #ff4d4f;} +.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon {color: #ff4d4f;} +.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector {background-color: #fff;border-color: #ff4d4f !important;} +.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector, .ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {background-color: inherit;border: 0;box-shadow: none;} +.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus {border-color: #ff4d4f;} +.ant-form-item-has-error .ant-input-number, .ant-form-item-has-error .ant-picker {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-input-number-focused, .ant-form-item-has-error .ant-picker-focused, .ant-form-item-has-error .ant-input-number:focus, .ant-form-item-has-error .ant-picker:focus {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-input-number:not([disabled]):hover, .ant-form-item-has-error .ant-picker:not([disabled]):hover {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor, .ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor, .ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-cascader-picker:hover .ant-cascader-picker-label:hover + .ant-cascader-input.ant-input {border-color: #ff4d4f;} +.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input {background-color: #fff;border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-transfer-list {border-color: #ff4d4f;} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]) {border-color: #d9d9d9;} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus {border-right-width: 0;border-left-width: 1px !important;} +.ant-form-item-has-error .ant-radio-button-wrapper {border-color: #ff4d4f !important;} +.ant-form-item-has-error .ant-radio-button-wrapper:not(:first-child)::before {background-color: #ff4d4f;} +.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon {color: #1890ff;} +.ant-form {color: rgba(0, 0, 0, 0.85);} +.ant-form legend {color: rgba(0, 0, 0, 0.45);border: 0;border-bottom: 1px solid #d9d9d9;} +.ant-form output {color: rgba(0, 0, 0, 0.85);} +.ant-form-item {color: rgba(0, 0, 0, 0.85);} +.ant-form-item-label > label {color: rgba(0, 0, 0, 0.85);} +.ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {color: #ff4d4f;} +.ant-form-item-label > label .ant-form-item-optional {color: rgba(0, 0, 0, 0.45);} +.ant-form-item-label > label .ant-form-item-tooltip {color: rgba(0, 0, 0, 0.45);} +.ant-form-item-explain, .ant-form-item-extra {color: rgba(0, 0, 0, 0.45);} +.ant-list {color: rgba(0, 0, 0, 0.85);} +.ant-list-empty-text {color: rgba(0, 0, 0, 0.25);} +.ant-list-item {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-content {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-title {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-title > a {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-title > a:hover {color: #1890ff;} +.ant-list-item-meta-description {color: rgba(0, 0, 0, 0.45);} +.ant-list-item-action > li {color: rgba(0, 0, 0, 0.45);} +.ant-list-item-action-split {background-color: #f0f0f0;} +.ant-list-header {background: transparent;} +.ant-list-footer {background: transparent;} +.ant-list-empty {color: rgba(0, 0, 0, 0.45);} +.ant-list-split .ant-list-item {border-bottom: 1px solid #f0f0f0;} +.ant-list-split .ant-list-item:last-child {border-bottom: none;} +.ant-list-split .ant-list-header {border-bottom: 1px solid #f0f0f0;} +.ant-list-split.ant-list-empty .ant-list-footer {border-top: 1px solid #f0f0f0;} +.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child {border-bottom: 1px solid #f0f0f0;} +.ant-list-vertical .ant-list-item-meta-title {color: rgba(0, 0, 0, 0.85);} +.ant-list-grid .ant-col > .ant-list-item {border-bottom: none;} +.ant-list-bordered {border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-menu-item-danger.ant-menu-item {color: #ff4d4f;} +.ant-menu-item-danger.ant-menu-item:hover, .ant-menu-item-danger.ant-menu-item-active {color: #ff4d4f;} +.ant-menu-item-danger.ant-menu-item:active {background: #fff1f0;} +.ant-menu-item-danger.ant-menu-item-selected {color: #ff4d4f;} +.ant-menu-item-danger.ant-menu-item-selected > a, .ant-menu-item-danger.ant-menu-item-selected > a:hover {color: #ff4d4f;} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {background-color: #fff1f0;} +.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after {border-right-color: #ff4d4f;} +.ant-menu-dark .ant-menu-item-danger.ant-menu-item, .ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover, .ant-menu-dark .ant-menu-item-danger.ant-menu-item > a {color: #ff4d4f;} +.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {color: #fff;background-color: #ff4d4f;} +.ant-menu {color: rgba(0, 0, 0, 0.85);background: #fff;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-menu.ant-menu-root:focus-visible {box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-menu-item-group-title {color: rgba(0, 0, 0, 0.45);} +.ant-menu-submenu-selected {color: #1890ff;} +.ant-menu-item:active, .ant-menu-submenu-title:active {background: #e6f7ff;} +.ant-menu-item a {color: rgba(0, 0, 0, 0.85);} +.ant-menu-item a:hover {color: #1890ff;} +.ant-menu-item a::before {background-color: transparent;} +.ant-menu-item > .ant-badge a {color: rgba(0, 0, 0, 0.85);} +.ant-menu-item > .ant-badge a:hover {color: #1890ff;} +.ant-menu-item-divider {background-color: #f0f0f0;} +.ant-menu-horizontal > .ant-menu-item:hover, .ant-menu-horizontal > .ant-menu-item-active, .ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover {background-color: transparent;} +.ant-menu-item-selected {color: #1890ff;} +.ant-menu-item-selected a, .ant-menu-item-selected a:hover {color: #1890ff;} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {background-color: #e6f7ff;} +.ant-menu-inline, .ant-menu-vertical, .ant-menu-vertical-left {border-right: 1px solid #f0f0f0;} +.ant-menu-vertical-right {border-left: 1px solid #f0f0f0;} +.ant-menu-vertical.ant-menu-sub, .ant-menu-vertical-left.ant-menu-sub, .ant-menu-vertical-right.ant-menu-sub {border-right: 0;} +.ant-menu-vertical.ant-menu-sub .ant-menu-item, .ant-menu-vertical-left.ant-menu-sub .ant-menu-item, .ant-menu-vertical-right.ant-menu-sub .ant-menu-item {border-right: 0;} +.ant-menu-vertical.ant-menu-sub .ant-menu-item::after, .ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after, .ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after {border-right: 0;} +.ant-menu-item:focus-visible, .ant-menu-submenu-title:focus-visible {box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-menu > .ant-menu-item-divider {background-color: #f0f0f0;} +.ant-menu-submenu-popup {background: transparent;border-radius: 2px;box-shadow: none;} +.ant-menu-submenu > .ant-menu {background-color: #fff;border-radius: 2px;} +.ant-menu-submenu-popup > .ant-menu {background-color: #fff;} +.ant-menu-submenu-expand-icon, .ant-menu-submenu-arrow {color: rgba(0, 0, 0, 0.85);} +.ant-menu-submenu-arrow::before, .ant-menu-submenu-arrow::after {background-color: currentColor;border-radius: 2px;} +.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-expand-icon, .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {color: #1890ff;} +.ant-menu-vertical .ant-menu-submenu-selected, .ant-menu-vertical-left .ant-menu-submenu-selected, .ant-menu-vertical-right .ant-menu-submenu-selected {color: #1890ff;} +.ant-menu-horizontal {border: 0;border-bottom: 1px solid #f0f0f0;box-shadow: none;} +.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected {color: #1890ff;} +.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected::after {border-bottom: 2px solid #1890ff;} +.ant-menu-horizontal > .ant-menu-item::after, .ant-menu-horizontal > .ant-menu-submenu::after {border-bottom: 2px solid transparent;} +.ant-menu-horizontal > .ant-menu-item a {color: rgba(0, 0, 0, 0.85);} +.ant-menu-horizontal > .ant-menu-item a:hover {color: #1890ff;} +.ant-menu-horizontal > .ant-menu-item-selected a {color: #1890ff;} +.ant-menu-vertical .ant-menu-item::after, .ant-menu-vertical-left .ant-menu-item::after, .ant-menu-vertical-right .ant-menu-item::after, .ant-menu-inline .ant-menu-item::after {border-right: 3px solid #1890ff;} +.ant-menu.ant-menu-inline-collapsed-tooltip a {color: rgba(255, 255, 255, 0.85);} +.ant-menu-root.ant-menu-vertical, .ant-menu-root.ant-menu-vertical-left, .ant-menu-root.ant-menu-vertical-right, .ant-menu-root.ant-menu-inline {box-shadow: none;} +.ant-menu-sub.ant-menu-inline {background: #fafafa;border: 0;border-radius: 0;box-shadow: none;} +.ant-menu-item-disabled, .ant-menu-submenu-disabled {color: rgba(0, 0, 0, 0.25) !important;background: none;} +.ant-menu-item-disabled::after, .ant-menu-submenu-disabled::after {border-color: transparent !important;} +.ant-menu-item-disabled a, .ant-menu-submenu-disabled a {color: rgba(0, 0, 0, 0.25) !important;} +.ant-menu-item-disabled > .ant-menu-submenu-title, .ant-menu-submenu-disabled > .ant-menu-submenu-title {color: rgba(0, 0, 0, 0.25) !important;} +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {background: rgba(0, 0, 0, 0.25) !important;} +.ant-menu-light .ant-menu-item:hover, .ant-menu-light .ant-menu-item-active, .ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, .ant-menu-light .ant-menu-submenu-active, .ant-menu-light .ant-menu-submenu-title:hover {color: #1890ff;} +.ant-menu.ant-menu-dark, .ant-menu-dark .ant-menu-sub, .ant-menu.ant-menu-dark .ant-menu-sub {color: rgba(255, 255, 255, 0.65);background: #001529;} +.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, .ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, .ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before, .ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before {background: #fff;} +.ant-menu-dark.ant-menu-submenu-popup {background: transparent;} +.ant-menu-dark .ant-menu-inline.ant-menu-sub {background: #000c17;} +.ant-menu-dark.ant-menu-horizontal {border-bottom: 0;} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, .ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu {border-color: #001529;border-bottom: 0;} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover {background-color: #1890ff;} +.ant-menu-dark .ant-menu-item, .ant-menu-dark .ant-menu-item-group-title, .ant-menu-dark .ant-menu-item > a, .ant-menu-dark .ant-menu-item > span > a {color: rgba(255, 255, 255, 0.65);} +.ant-menu-dark.ant-menu-inline, .ant-menu-dark.ant-menu-vertical, .ant-menu-dark.ant-menu-vertical-left, .ant-menu-dark.ant-menu-vertical-right {border-right: 0;} +.ant-menu-dark.ant-menu-inline .ant-menu-item, .ant-menu-dark.ant-menu-vertical .ant-menu-item, .ant-menu-dark.ant-menu-vertical-left .ant-menu-item, .ant-menu-dark.ant-menu-vertical-right .ant-menu-item {border-right: 0;} +.ant-menu-dark.ant-menu-inline .ant-menu-item::after, .ant-menu-dark.ant-menu-vertical .ant-menu-item::after, .ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after, .ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after {border-right: 0;} +.ant-menu-dark .ant-menu-item:hover, .ant-menu-dark .ant-menu-item-active, .ant-menu-dark .ant-menu-submenu-active, .ant-menu-dark .ant-menu-submenu-open, .ant-menu-dark .ant-menu-submenu-selected, .ant-menu-dark .ant-menu-submenu-title:hover {color: #fff;background-color: transparent;} +.ant-menu-dark .ant-menu-item:hover > a, .ant-menu-dark .ant-menu-item-active > a, .ant-menu-dark .ant-menu-submenu-active > a, .ant-menu-dark .ant-menu-submenu-open > a, .ant-menu-dark .ant-menu-submenu-selected > a, .ant-menu-dark .ant-menu-submenu-title:hover > a, .ant-menu-dark .ant-menu-item:hover > span > a, .ant-menu-dark .ant-menu-item-active > span > a, .ant-menu-dark .ant-menu-submenu-active > span > a, .ant-menu-dark .ant-menu-submenu-open > span > a, .ant-menu-dark .ant-menu-submenu-selected > span > a, .ant-menu-dark .ant-menu-submenu-title:hover > span > a {color: #fff;} +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before {background: #fff;} +.ant-menu-dark .ant-menu-item:hover {background-color: transparent;} +.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {background-color: #1890ff;} +.ant-menu-dark .ant-menu-item-selected {color: #fff;border-right: 0;} +.ant-menu-dark .ant-menu-item-selected::after {border-right: 0;} +.ant-menu-dark .ant-menu-item-selected > a, .ant-menu-dark .ant-menu-item-selected > span > a, .ant-menu-dark .ant-menu-item-selected > a:hover, .ant-menu-dark .ant-menu-item-selected > span > a:hover {color: #fff;} +.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon, .ant-menu-dark .ant-menu-item-selected .anticon {color: #fff;} +.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon + span, .ant-menu-dark .ant-menu-item-selected .anticon + span {color: #fff;} +.ant-menu.ant-menu-dark .ant-menu-item-selected, .ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected {background-color: #1890ff;} +.ant-menu-dark .ant-menu-item-disabled, .ant-menu-dark .ant-menu-submenu-disabled, .ant-menu-dark .ant-menu-item-disabled > a, .ant-menu-dark .ant-menu-submenu-disabled > a, .ant-menu-dark .ant-menu-item-disabled > span > a, .ant-menu-dark .ant-menu-submenu-disabled > span > a {color: rgba(255, 255, 255, 0.35) !important;} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, .ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title {color: rgba(255, 255, 255, 0.35) !important;} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {background: rgba(255, 255, 255, 0.35) !important;} +.ant-menu-rtl.ant-menu-inline, .ant-menu-rtl.ant-menu-vertical {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-menu-rtl.ant-menu-dark.ant-menu-inline, .ant-menu-rtl.ant-menu-dark.ant-menu-vertical {border-left: none;} +.ant-menu-sub.ant-menu-inline {border: 0;} +.ant-mention-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-mention-wrapper .ant-mention-editor {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-mention-wrapper .ant-mention-editor::placeholder {color: #bfbfbf;} +.ant-mention-wrapper .ant-mention-editor::placeholder {color: #bfbfbf;} +.ant-mention-wrapper .ant-mention-editor:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor:focus, .ant-mention-wrapper .ant-mention-editor-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:focus, .ant-input-rtl .ant-mention-wrapper .ant-mention-editor-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-mention-wrapper .ant-mention-editor-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-mention-wrapper .ant-mention-editor[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor-borderless, .ant-mention-wrapper .ant-mention-editor-borderless:hover, .ant-mention-wrapper .ant-mention-editor-borderless:focus, .ant-mention-wrapper .ant-mention-editor-borderless-focused, .ant-mention-wrapper .ant-mention-editor-borderless-disabled, .ant-mention-wrapper .ant-mention-editor-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor {border-right-width: 0;border-left-width: 1px !important;} +.ant-mention-wrapper.disabled .ant-mention-editor {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-mention-wrapper.disabled .ant-mention-editor:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner {color: #bfbfbf;} +.ant-mention-dropdown {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item {color: rgba(0, 0, 0, 0.25);} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading {color: #1890ff;} +.ant-mention-dropdown-item {color: rgba(0, 0, 0, 0.85);} +.ant-mention-dropdown-item:hover {background-color: #f5f5f5;} +.ant-mention-dropdown-item.focus, .ant-mention-dropdown-item-active {background-color: #e6f7ff;} +.ant-mention-dropdown-item-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-mention-dropdown-item-disabled:hover {color: rgba(0, 0, 0, 0.25);background-color: #fff;} +.ant-mention-dropdown-item-selected, .ant-mention-dropdown-item-selected:hover {color: rgba(0, 0, 0, 0.85);background-color: #f5f5f5;} +.ant-mention-dropdown-item-divider {background-color: #f0f0f0;} +.ant-message {color: rgba(0, 0, 0, 0.85);} +.ant-message-notice-content {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-message-success .anticon {color: #52c41a;} +.ant-message-error .anticon {color: #ff4d4f;} +.ant-message-warning .anticon {color: #faad14;} +.ant-message-info .anticon, .ant-message-loading .anticon {color: #1890ff;} +.ant-modal {color: rgba(0, 0, 0, 0.85);} +.ant-modal-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-modal-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-modal-title {color: rgba(0, 0, 0, 0.85);} +.ant-modal-content {background-color: #fff;background-clip: padding-box;border: 0;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-modal-close {color: rgba(0, 0, 0, 0.45);background: transparent;border: 0;} +.ant-modal-close:focus, .ant-modal-close:hover {color: rgba(0, 0, 0, 0.75);} +.ant-modal-header {color: rgba(0, 0, 0, 0.85);background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-modal-footer {background: transparent;border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.ant-modal-confirm-body .ant-modal-confirm-title {color: rgba(0, 0, 0, 0.85);} +.ant-modal-confirm-body .ant-modal-confirm-content {color: rgba(0, 0, 0, 0.85);} +.ant-modal-confirm-error .ant-modal-confirm-body > .anticon {color: #ff4d4f;} +.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon, .ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon {color: #faad14;} +.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {color: #1890ff;} +.ant-modal-confirm-success .ant-modal-confirm-body > .anticon {color: #52c41a;} +.ant-notification {color: rgba(0, 0, 0, 0.85);} +.ant-notification-notice {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-notification-notice-message {color: rgba(0, 0, 0, 0.85);} +.ant-notification-notice-message-single-line-auto-margin {background-color: transparent;} +.anticon.ant-notification-notice-icon-success {color: #52c41a;} +.anticon.ant-notification-notice-icon-info {color: #1890ff;} +.anticon.ant-notification-notice-icon-warning {color: #faad14;} +.anticon.ant-notification-notice-icon-error {color: #ff4d4f;} +.ant-notification-notice-close {color: rgba(0, 0, 0, 0.45);} +.ant-notification-notice-close:hover {color: rgba(0, 0, 0, 0.67);} +.ant-page-header {color: rgba(0, 0, 0, 0.85);background-color: #fff;} +.ant-page-header-ghost {background-color: inherit;} +.ant-page-header-back-button {color: #1890ff;color: #000;} +.ant-page-header-back-button:focus, .ant-page-header-back-button:hover {color: #40a9ff;} +.ant-page-header-back-button:active {color: #096dd9;} +.ant-page-header-back-button:focus, .ant-page-header-back-button:hover {color: #40a9ff;} +.ant-page-header-back-button:active {color: #096dd9;} +.ant-page-header-heading-title {color: rgba(0, 0, 0, 0.85);} +.ant-page-header-heading-sub-title {color: rgba(0, 0, 0, 0.45);} +.ant-page-header-footer .ant-tabs > .ant-tabs-nav::before {border: none;} +.ant-page-header-back-button {border: 0;background: transparent;} +.ant-pagination {color: rgba(0, 0, 0, 0.85);} +.ant-pagination-item {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-item a {color: rgba(0, 0, 0, 0.85);} +.ant-pagination-item:focus-visible, .ant-pagination-item:hover {border-color: #1890ff;} +.ant-pagination-item:focus-visible a, .ant-pagination-item:hover a {color: #1890ff;} +.ant-pagination-item-active {background: #fff;border-color: #1890ff;} +.ant-pagination-item-active a {color: #1890ff;} +.ant-pagination-item-active:focus-visible, .ant-pagination-item-active:hover {border-color: #40a9ff;} +.ant-pagination-item-active:focus-visible a, .ant-pagination-item-active:hover a {color: #40a9ff;} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon {color: #1890ff;} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis {color: rgba(0, 0, 0, 0.25);} +.ant-pagination-prev, .ant-pagination-next, .ant-pagination-jump-prev, .ant-pagination-jump-next {color: rgba(0, 0, 0, 0.85);border-radius: 2px;} +.ant-pagination-prev button, .ant-pagination-next button {color: rgba(0, 0, 0, 0.85);} +.ant-pagination-prev:hover button, .ant-pagination-next:hover button {border-color: #40a9ff;} +.ant-pagination-prev .ant-pagination-item-link, .ant-pagination-next .ant-pagination-item-link {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-prev:focus-visible .ant-pagination-item-link, .ant-pagination-next:focus-visible .ant-pagination-item-link, .ant-pagination-prev:hover .ant-pagination-item-link, .ant-pagination-next:hover .ant-pagination-item-link {color: #1890ff;border-color: #1890ff;} +.ant-pagination-disabled .ant-pagination-item-link, .ant-pagination-disabled:hover .ant-pagination-item-link, .ant-pagination-disabled:focus-visible .ant-pagination-item-link {color: rgba(0, 0, 0, 0.25);border-color: #d9d9d9;} +.ant-pagination-options-quick-jumper input {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-options-quick-jumper input::placeholder {color: #bfbfbf;} +.ant-pagination-options-quick-jumper input::placeholder {color: #bfbfbf;} +.ant-pagination-options-quick-jumper input:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-pagination-options-quick-jumper input:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-pagination-options-quick-jumper input:focus, .ant-pagination-options-quick-jumper input-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-pagination-options-quick-jumper input:focus, .ant-input-rtl .ant-pagination-options-quick-jumper input-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-pagination-options-quick-jumper input-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-pagination-options-quick-jumper input-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-pagination-options-quick-jumper input[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-pagination-options-quick-jumper input[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-pagination-options-quick-jumper input-borderless, .ant-pagination-options-quick-jumper input-borderless:hover, .ant-pagination-options-quick-jumper input-borderless:focus, .ant-pagination-options-quick-jumper input-borderless-focused, .ant-pagination-options-quick-jumper input-borderless-disabled, .ant-pagination-options-quick-jumper input-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, .ant-pagination-simple .ant-pagination-next .ant-pagination-item-link {background-color: transparent;border: 0;} +.ant-pagination-simple .ant-pagination-simple-pager input {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-simple .ant-pagination-simple-pager input:hover {border-color: #1890ff;} +.ant-pagination-simple .ant-pagination-simple-pager input[disabled] {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;} +.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) {background: transparent;border-color: transparent;} +.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, .ant-pagination.mini .ant-pagination-next .ant-pagination-item-link {background: transparent;border-color: transparent;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item {background: #f5f5f5;border-color: #d9d9d9;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item a {color: rgba(0, 0, 0, 0.25);background: transparent;border: none;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-active {background: #dbdbdb;border-color: transparent;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a {color: #fff;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-link {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;} +.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link {background: transparent;} +.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager {color: rgba(0, 0, 0, 0.25);} +.ant-popover {color: rgba(0, 0, 0, 0.85);} +.ant-popover::after {background: rgba(255, 255, 255, 0.01);} +.ant-popover-inner {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) ;} +.ant-popover-title {color: rgba(0, 0, 0, 0.85);border-bottom: 1px solid #f0f0f0;} +.ant-popover-inner-content {color: rgba(0, 0, 0, 0.85);} +.ant-popover-message {color: rgba(0, 0, 0, 0.85);} +.ant-popover-message > .anticon {color: #faad14;} +.ant-popover-arrow {background: transparent;} +.ant-popover-arrow-content {background-color: #fff;} +.ant-popover-placement-top .ant-popover-arrow-content, .ant-popover-placement-topLeft .ant-popover-arrow-content, .ant-popover-placement-topRight .ant-popover-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-popover-placement-right .ant-popover-arrow-content, .ant-popover-placement-rightTop .ant-popover-arrow-content, .ant-popover-placement-rightBottom .ant-popover-arrow-content {box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-popover-placement-bottom .ant-popover-arrow-content, .ant-popover-placement-bottomLeft .ant-popover-arrow-content, .ant-popover-placement-bottomRight .ant-popover-arrow-content {box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06);} +.ant-popover-placement-left .ant-popover-arrow-content, .ant-popover-placement-leftTop .ant-popover-arrow-content, .ant-popover-placement-leftBottom .ant-popover-arrow-content {box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);} +.ant-popover-pink .ant-popover-inner {background-color: #eb2f96;} +.ant-popover-pink .ant-popover-arrow-content {background-color: #eb2f96;} +.ant-popover-magenta .ant-popover-inner {background-color: #eb2f96;} +.ant-popover-magenta .ant-popover-arrow-content {background-color: #eb2f96;} +.ant-popover-red .ant-popover-inner {background-color: #f5222d;} +.ant-popover-red .ant-popover-arrow-content {background-color: #f5222d;} +.ant-popover-volcano .ant-popover-inner {background-color: #fa541c;} +.ant-popover-volcano .ant-popover-arrow-content {background-color: #fa541c;} +.ant-popover-orange .ant-popover-inner {background-color: #fa8c16;} +.ant-popover-orange .ant-popover-arrow-content {background-color: #fa8c16;} +.ant-popover-yellow .ant-popover-inner {background-color: #fadb14;} +.ant-popover-yellow .ant-popover-arrow-content {background-color: #fadb14;} +.ant-popover-gold .ant-popover-inner {background-color: #faad14;} +.ant-popover-gold .ant-popover-arrow-content {background-color: #faad14;} +.ant-popover-cyan .ant-popover-inner {background-color: #13c2c2;} +.ant-popover-cyan .ant-popover-arrow-content {background-color: #13c2c2;} +.ant-popover-lime .ant-popover-inner {background-color: #a0d911;} +.ant-popover-lime .ant-popover-arrow-content {background-color: #a0d911;} +.ant-popover-green .ant-popover-inner {background-color: #52c41a;} +.ant-popover-green .ant-popover-arrow-content {background-color: #52c41a;} +.ant-popover-blue .ant-popover-inner {background-color: #1890ff;} +.ant-popover-blue .ant-popover-arrow-content {background-color: #1890ff;} +.ant-popover-geekblue .ant-popover-inner {background-color: #2f54eb;} +.ant-popover-geekblue .ant-popover-arrow-content {background-color: #2f54eb;} +.ant-popover-purple .ant-popover-inner {background-color: #722ed1;} +.ant-popover-purple .ant-popover-arrow-content {background-color: #722ed1;} +.ant-progress {color: rgba(0, 0, 0, 0.85);} +.ant-progress-steps-item {background: #f3f3f3;} +.ant-progress-steps-item-active {background: #1890ff;} +.ant-progress-inner {background-color: #f5f5f5;border-radius: 100px;} +.ant-progress-success-bg, .ant-progress-bg {background-color: #1890ff;border-radius: 100px;} +.ant-progress-success-bg {background-color: #52c41a;} +.ant-progress-text {color: rgba(0, 0, 0, 0.85);} +.ant-progress-status-active .ant-progress-bg::before {background: #fff;border-radius: 10px;} +.ant-progress-status-exception .ant-progress-bg {background-color: #ff4d4f;} +.ant-progress-status-exception .ant-progress-text {color: #ff4d4f;} +.ant-progress-status-success .ant-progress-bg {background-color: #52c41a;} +.ant-progress-status-success .ant-progress-text {color: #52c41a;} +.ant-progress-circle .ant-progress-inner {background-color: transparent;} +.ant-progress-circle .ant-progress-text {color: rgba(0, 0, 0, 0.85);} +.ant-progress-circle.ant-progress-status-exception .ant-progress-text {color: #ff4d4f;} +.ant-progress-circle.ant-progress-status-success .ant-progress-text {color: #52c41a;} +.ant-radio-group {color: rgba(0, 0, 0, 0.85);} +.ant-radio-group > .ant-badge:not(:first-child) > .ant-radio-button-wrapper {border-left: none;} +.ant-radio-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-radio {color: rgba(0, 0, 0, 0.85);} +.ant-radio-wrapper:hover .ant-radio, .ant-radio:hover .ant-radio-inner, .ant-radio-input:focus + .ant-radio-inner {border-color: #1890ff;} +.ant-radio-input:focus + .ant-radio-inner {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-checked::after {border: 1px solid #1890ff;border-radius: 50%;} +.ant-radio-inner {background-color: #fff;border-color: #d9d9d9;border-style: solid;border-width: 1px;border-radius: 50%;} +.ant-radio-inner::after {background-color: #1890ff;border-top: 0;border-left: 0;border-radius: 8px;} +.ant-radio-checked .ant-radio-inner {border-color: #1890ff;} +.ant-radio-disabled .ant-radio-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-radio-disabled .ant-radio-inner::after {background-color: rgba(0, 0, 0, 0.2);} +.ant-radio-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-radio-button-wrapper {color: rgba(0, 0, 0, 0.85);background: #fff;border: 1px solid #d9d9d9;border-top-width: 1.02px;border-left-width: 0;} +.ant-radio-button-wrapper a {color: rgba(0, 0, 0, 0.85);} +.ant-radio-button-wrapper:not(:first-child)::before {background-color: #d9d9d9;} +.ant-radio-button-wrapper:first-child {border-left: 1px solid #d9d9d9;border-radius: 2px 0 0 2px;} +.ant-radio-button-wrapper:last-child {border-radius: 0 2px 2px 0;} +.ant-radio-button-wrapper:first-child:last-child {border-radius: 2px;} +.ant-radio-button-wrapper:hover {color: #1890ff;} +.ant-radio-button-wrapper:focus-within {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: #1890ff;background: #fff;border-color: #1890ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before {background-color: #1890ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child {border-color: #1890ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {color: #40a9ff;border-color: #40a9ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before {background-color: #40a9ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {color: #096dd9;border-color: #096dd9;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before {background-color: #096dd9;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: #fff;background: #1890ff;border-color: #1890ff;} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {color: #fff;background: #40a9ff;border-color: #40a9ff;} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {color: #fff;background: #096dd9;border-color: #096dd9;} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-button-wrapper-disabled {color: rgba(0, 0, 0, 0.25);background-color: #f5f5f5;border-color: #d9d9d9;} +.ant-radio-button-wrapper-disabled:first-child, .ant-radio-button-wrapper-disabled:hover {color: rgba(0, 0, 0, 0.25);background-color: #f5f5f5;border-color: #d9d9d9;} +.ant-radio-button-wrapper-disabled:first-child {border-left-color: #d9d9d9;} +.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked {color: rgba(0, 0, 0, 0.25);background-color: #e6e6e6;border-color: #d9d9d9;box-shadow: none;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl {border-right-width: 0;border-left-width: 1px;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child {border-right: 1px solid #d9d9d9;border-radius: 0 2px 2px 0;} +.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child {border-right-color: #40a9ff;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child {border-radius: 2px 0 0 2px;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child {border-right-color: #d9d9d9;} +.ant-rate {color: rgba(0, 0, 0, 0.85);color: #fadb14;} +.ant-rate-star {color: inherit;} +.ant-rate-star-first, .ant-rate-star-second {color: #f0f0f0;} +.ant-rate-star-half .ant-rate-star-first, .ant-rate-star-full .ant-rate-star-second {color: inherit;} +.ant-select-single.ant-select-open .ant-select-selection-item {color: #bfbfbf;} +.ant-select-disabled.ant-select-multiple .ant-select-selector {background: #f5f5f5;} +.ant-select-multiple .ant-select-selection-item {background: #f5f5f5;border: 1px solid #f0f0f0;border-radius: 2px;} +.ant-select-disabled.ant-select-multiple .ant-select-selection-item {color: #bfbfbf;border-color: #d9d9d9;} +.ant-select-multiple .ant-select-selection-item-remove {color: inherit;color: rgba(0, 0, 0, 0.45);} +.ant-select-multiple .ant-select-selection-item-remove:hover {color: rgba(0, 0, 0, 0.75);} +.ant-select {color: rgba(0, 0, 0, 0.85);} +.ant-select:not(.ant-select-customize-input) .ant-select-selector {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {border-right-width: 0;border-left-width: 1px !important;} +.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;} +.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {background: #f5f5f5;} +.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {background: transparent;border: none;} +.ant-select:not(.ant-select-disabled):hover .ant-select-selector {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector {border-right-width: 0;border-left-width: 1px !important;} +.ant-select-selection-placeholder {color: #bfbfbf;} +.ant-select-arrow {color: inherit;color: rgba(0, 0, 0, 0.25);} +.ant-select-clear {color: rgba(0, 0, 0, 0.25);background: #fff;} +.ant-select-clear:hover {color: rgba(0, 0, 0, 0.45);} +.ant-select-dropdown {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-select-dropdown-empty {color: rgba(0, 0, 0, 0.25);} +.ant-select-item-empty {color: rgba(0, 0, 0, 0.85);color: rgba(0, 0, 0, 0.25);} +.ant-select-item {color: rgba(0, 0, 0, 0.85);} +.ant-select-item-group {color: rgba(0, 0, 0, 0.45);} +.ant-select-item-option-active:not(.ant-select-item-option-disabled) {background-color: #f5f5f5;} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {color: rgba(0, 0, 0, 0.85);background-color: #e6f7ff;} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state {color: #1890ff;} +.ant-select-item-option-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-select-borderless .ant-select-selector {background-color: transparent !important;border-color: transparent !important;box-shadow: none !important;} +.ant-skeleton-header .ant-skeleton-avatar {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-content .ant-skeleton-title {background: rgba(190, 190, 190, 0.2);border-radius: 4px;} +.ant-skeleton-content .ant-skeleton-paragraph > li {background: rgba(190, 190, 190, 0.2);border-radius: 4px;} +.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title, .ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph > li {border-radius: 100px;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-button {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-input {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-image {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton-element .ant-skeleton-button {background: rgba(190, 190, 190, 0.2);border-radius: 2px;} +.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round {border-radius: 32px;} +.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round {border-radius: 40px;} +.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round {border-radius: 24px;} +.ant-skeleton-element .ant-skeleton-avatar {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-input {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-element .ant-skeleton-image {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle {border-radius: 50%;} +.ant-slider {color: rgba(0, 0, 0, 0.85);} +.ant-slider-rail {background-color: #f5f5f5;border-radius: 2px;} +.ant-slider-track {background-color: #91d5ff;border-radius: 2px;} +.ant-slider-handle {background-color: #fff;border: solid 2px #91d5ff;border-radius: 50%;box-shadow: 0;} +.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging {border-color: #46a6ff;box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12);} +.ant-slider-handle:focus {border-color: #46a6ff;box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12);} +.ant-slider-handle.ant-tooltip-open {border-color: #1890ff;} +.ant-slider:hover .ant-slider-rail {background-color: #e1e1e1;} +.ant-slider:hover .ant-slider-track {background-color: #69c0ff;} +.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) {border-color: #69c0ff;} +.ant-slider-mark-text {color: rgba(0, 0, 0, 0.45);} +.ant-slider-mark-text-active {color: rgba(0, 0, 0, 0.85);} +.ant-slider-step {background: transparent;} +.ant-slider-dot {background-color: #fff;border: 2px solid #f0f0f0;border-radius: 50%;} +.ant-slider-dot-active {border-color: #8cc8ff;} +.ant-slider-disabled .ant-slider-track {background-color: rgba(0, 0, 0, 0.25) !important;} +.ant-slider-disabled .ant-slider-handle, .ant-slider-disabled .ant-slider-dot {background-color: #fff;border-color: rgba(0, 0, 0, 0.25) !important;box-shadow: none;} +.ant-spin {color: rgba(0, 0, 0, 0.85);color: #1890ff;} +.ant-spin-container::after {background: #fff;} +.ant-spin-tip {color: rgba(0, 0, 0, 0.45);} +.ant-spin-dot-item {background-color: #1890ff;border-radius: 100%;} +.ant-statistic {color: rgba(0, 0, 0, 0.85);} +.ant-statistic-title {color: rgba(0, 0, 0, 0.45);} +.ant-statistic-content {color: rgba(0, 0, 0, 0.85);} +.ant-steps {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-icon {border: 1px solid rgba(0, 0, 0, 0.25);border-radius: 32px;} +.ant-steps-item-icon .ant-steps-icon {color: #1890ff;} +.ant-steps-item-tail::after {background: #f0f0f0;border-radius: 1px;} +.ant-steps-item-title {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-title::after {background: #f0f0f0;} +.ant-steps-item-subtitle {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-wait .ant-steps-item-icon {background-color: #fff;border-color: rgba(0, 0, 0, 0.25);} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon {color: rgba(0, 0, 0, 0.25);} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: rgba(0, 0, 0, 0.25);} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #f0f0f0;} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #f0f0f0;} +.ant-steps-item-process .ant-steps-item-icon {background-color: #fff;border-color: #1890ff;} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {color: #1890ff;} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: #1890ff;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #f0f0f0;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #f0f0f0;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon {background: #1890ff;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon .ant-steps-icon {color: #fff;} +.ant-steps-item-finish .ant-steps-item-icon {background-color: #fff;border-color: #1890ff;} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon {color: #1890ff;} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: #1890ff;} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #1890ff;} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #1890ff;} +.ant-steps-item-error .ant-steps-item-icon {background-color: #fff;border-color: #ff4d4f;} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon {color: #ff4d4f;} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: #ff4d4f;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: #ff4d4f;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #f0f0f0;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: #ff4d4f;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #f0f0f0;} +.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after {background: #ff4d4f;} +.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title, .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle, .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description {color: #1890ff;} +.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon {border-color: #1890ff;} +.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon {color: #1890ff;} +.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon {background: none;border: 0;} +.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {color: #1890ff;} +.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon {background: none;} +.ant-steps-small .ant-steps-item-icon {border-radius: 24px;} +.ant-steps-small .ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon {background: none;border: 0;border-radius: 0;} +.ant-steps-dot .ant-steps-item-icon, .ant-steps-dot.ant-steps-small .ant-steps-item-icon {background: transparent;border: 0;} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, .ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot {border-radius: 100px;} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, .ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after {background: rgba(0, 0, 0, 0.001);} +.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon, .ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon {background: none;} +.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon {background: none;} +.ant-steps-navigation .ant-steps-item::after {border: 1px solid rgba(0, 0, 0, 0.25);border-bottom: none;border-left: none;} +.ant-steps-navigation .ant-steps-item::before {background-color: #1890ff;} +.ant-switch {color: rgba(0, 0, 0, 0.85);background-color: rgba(0, 0, 0, 0.25);border: 0;border-radius: 100px;} +.ant-switch:focus {box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);} +.ant-switch-checked:focus {box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-switch:focus:hover {box-shadow: none;} +.ant-switch-checked {background-color: #1890ff;} +.ant-switch-loading *, .ant-switch-disabled * {box-shadow: none;} +.ant-switch-inner {color: #fff;} +.ant-switch-handle::before {background-color: #fff;border-radius: 9px;box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);} +.ant-switch-loading-icon {color: rgba(0, 0, 0, 0.65);} +.ant-switch-checked .ant-switch-loading-icon {color: #1890ff;} +.ant-table-small .ant-table-thead > tr > th {background-color: #fafafa;} +.ant-table.ant-table-bordered > .ant-table-title {border: 1px solid #f0f0f0;border-bottom: 0;} +.ant-table.ant-table-bordered > .ant-table-container {border: 1px solid #f0f0f0;border-right: 0;border-bottom: 0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > td {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr:not(:last-child) > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr:not(:last-child) > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr:not(:last-child) > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr:not(:last-child) > th {border-bottom: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th::before, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th::before, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th::before, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th::before {background-color: transparent !important;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > .ant-table-cell-fix-right-first::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-expanded-row > td, .ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-placeholder > td {border-right: 0;} +.ant-table.ant-table-bordered > .ant-table-footer {border: 1px solid #f0f0f0;border-top: 0;} +.ant-table-cell .ant-table-container:first-child {border-top: 0;} +.ant-table-cell-scrollbar {box-shadow: 0 1px 0 1px #fafafa;} +.ant-table {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-table table {border-radius: 2px 2px 0 0;border-collapse: separate;border-spacing: 0;} +.ant-table-footer {color: rgba(0, 0, 0, 0.85);background: #fafafa;} +.ant-table-thead > tr > th {color: rgba(0, 0, 0, 0.85);background: #fafafa;border-bottom: 1px solid #f0f0f0;} +.ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {background-color: rgba(0, 0, 0, 0.06);} +.ant-table-thead > tr:not(:last-child) > th[colspan] {border-bottom: 0;} +.ant-table-tbody > tr > td {border-bottom: 1px solid #f0f0f0;} +.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td, .ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td {border-bottom: 0;} +.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, .ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, .ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child, .ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child {border-radius: 0;} +.ant-table-tbody > tr.ant-table-row:hover > td {background: #fafafa;} +.ant-table-tbody > tr.ant-table-row-selected > td {background: #e6f7ff;border-color: rgba(0, 0, 0, 0.03);} +.ant-table-tbody > tr.ant-table-row-selected:hover > td {background: #dcf4ff;} +.ant-table-summary {background: #fff;} +div.ant-table-summary {box-shadow: 0 -1px 0 #f0f0f0;} +.ant-table-summary > tr > th, .ant-table-summary > tr > td {border-bottom: 1px solid #f0f0f0;} +.ant-table-thead th.ant-table-column-has-sorters:hover {background: rgba(0, 0, 0, 0.04);} +.ant-table-thead th.ant-table-column-has-sorters:hover::before {background-color: transparent !important;} +.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover, .ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover {background: #f5f5f5;} +.ant-table-thead th.ant-table-column-sort {background: #f5f5f5;} +.ant-table-thead th.ant-table-column-sort::before {background-color: transparent !important;} +td.ant-table-column-sort {background: #fafafa;} +.ant-table-column-sorter {color: #bfbfbf;} +.ant-table-column-sorter-up.active, .ant-table-column-sorter-down.active {color: #1890ff;} +.ant-table-column-sorters:hover .ant-table-column-sorter {color: #a6a6a6;} +.ant-table-filter-trigger {color: #bfbfbf;border-radius: 2px;} +.ant-table-filter-trigger:hover {color: rgba(0, 0, 0, 0.45);background: rgba(0, 0, 0, 0.04);} +.ant-table-filter-trigger.active {color: #1890ff;} +.ant-table-filter-dropdown {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-table-filter-dropdown .ant-dropdown-menu {border: 0;box-shadow: none;} +.ant-table-filter-dropdown-btns {background-color: inherit;border-top: 1px solid #f0f0f0;} +table tr th.ant-table-selection-column::after {background-color: transparent !important;} +.ant-table-selection-extra .anticon {color: #bfbfbf;} +.ant-table-selection-extra .anticon:hover {color: #a6a6a6;} +.ant-table-row-expand-icon {color: #1890ff;color: inherit;background: #fff;border: 1px solid #f0f0f0;border-radius: 2px;} +.ant-table-row-expand-icon:focus, .ant-table-row-expand-icon:hover {color: #40a9ff;} +.ant-table-row-expand-icon:active {color: #096dd9;} +.ant-table-row-expand-icon:focus, .ant-table-row-expand-icon:hover {color: #40a9ff;} +.ant-table-row-expand-icon:active {color: #096dd9;} +.ant-table-row-expand-icon:focus, .ant-table-row-expand-icon:hover, .ant-table-row-expand-icon:active {border-color: currentColor;} +.ant-table-row-expand-icon::before, .ant-table-row-expand-icon::after {background: currentColor;} +.ant-table-row-expand-icon-spaced {background: transparent;border: 0;} +tr.ant-table-expanded-row > td, +tr.ant-table-expanded-row:hover > td {background: #fbfbfb;} +.ant-table-empty .ant-table-tbody > tr.ant-table-placeholder {color: rgba(0, 0, 0, 0.25);} +.ant-table-tbody > tr.ant-table-placeholder:hover > td {background: #fff;} +.ant-table-cell-fix-left, .ant-table-cell-fix-right {background: #fff;} +.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before {box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-ping-left .ant-table-cell-fix-left-first::after, .ant-table-ping-left .ant-table-cell-fix-left-last::after {box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-ping-left .ant-table-cell-fix-left-last::before {background-color: transparent !important;} +.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after {box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-ping-right .ant-table-cell-fix-right-first::after, .ant-table-ping-right .ant-table-cell-fix-right-last::after {box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-sticky-scroll {background: #ffffff;border-top: 1px solid #f0f0f0;} +.ant-table-sticky-scroll-bar {background-color: rgba(0, 0, 0, 0.35);border-radius: 4px;} +.ant-table-sticky-scroll-bar:hover {background-color: rgba(0, 0, 0, 0.8);} +.ant-table-sticky-scroll-bar-active {background-color: rgba(0, 0, 0, 0.8);} +.ant-table-title {border-radius: 2px 2px 0 0;} +.ant-table-title + .ant-table-container {border-top-left-radius: 0;border-top-right-radius: 0;} +.ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child {border-radius: 0;} +.ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child {border-radius: 0;} +.ant-table-container {border-top-left-radius: 2px;border-top-right-radius: 2px;} +.ant-table-container table > thead > tr:first-child th:first-child {border-top-left-radius: 2px;} +.ant-table-container table > thead > tr:first-child th:last-child {border-top-right-radius: 2px;} +.ant-table-footer {border-radius: 0 0 2px 2px;} +.nz-table-out-bordered > .ant-table-title {border: 1px solid #f0f0f0;border-bottom: 0;} +.nz-table-out-bordered > .ant-table-container {border: 1px solid #f0f0f0;border-bottom: 0;} +.nz-table-out-bordered > .ant-table-footer {border: 1px solid #f0f0f0;border-top: 0;} +.nz-table-hide-scrollbar {scrollbar-color: #fafafa #fafafa;} +.nz-table-hide-scrollbar::-webkit-scrollbar {background-color: #fafafa;} +.ant-table.ant-table-small .nz-table-hide-scrollbar {scrollbar-color: #fafafa #fafafa;} +.ant-table.ant-table-small .nz-table-hide-scrollbar::-webkit-scrollbar {background-color: transparent;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tfoot > tr > td {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > thead > tr:not(:last-child) > th {border-bottom: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tfoot > tr > .ant-table-cell-fix-right-first::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr > td > .ant-table-expanded-row-fixed::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr.ant-table-expanded-row > td, .ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr.ant-table-placeholder > td {border-right: 0;} +.ant-tabs-top > .ant-tabs-nav::before, .ant-tabs-bottom > .ant-tabs-nav::before, .ant-tabs-top > div > .ant-tabs-nav::before, .ant-tabs-bottom > div > .ant-tabs-nav::before {border-bottom: 1px solid #f0f0f0;} +.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before {box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before {box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-left > .ant-tabs-content-holder, .ant-tabs-left > div > .ant-tabs-content-holder {border-left: 1px solid #f0f0f0;} +.ant-tabs-right > .ant-tabs-content-holder, .ant-tabs-right > div > .ant-tabs-content-holder {border-right: 1px solid #f0f0f0;} +.ant-tabs-dropdown {color: rgba(0, 0, 0, 0.85);} +.ant-tabs-dropdown-menu {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-tabs-dropdown-menu-item {color: rgba(0, 0, 0, 0.85);} +.ant-tabs-dropdown-menu-item:hover {background: #f5f5f5;} +.ant-tabs-dropdown-menu-item-disabled, .ant-tabs-dropdown-menu-item-disabled:hover {color: rgba(0, 0, 0, 0.25);background: transparent;} +.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab {background: #fafafa;border: 1px solid #f0f0f0;} +.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active {color: #1890ff;background: #fff;} +.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 2px 2px 0 0;} +.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab-active {border-bottom-color: #fff;} +.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 0 0 2px 2px;} +.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab-active {border-top-color: #fff;} +.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 2px 0 0 2px;} +.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab-active {border-right-color: #fff;} +.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 0 2px 2px 0;} +.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab-active {border-left-color: #fff;} +.ant-tabs {color: rgba(0, 0, 0, 0.85);} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more {background: transparent;border: 0;} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add {background: #fafafa;border: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:hover, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:hover {color: #40a9ff;} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:active, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:active, .ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:focus, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:focus {color: #096dd9;} +.ant-tabs-ink-bar {background: #1890ff;} +.ant-tabs-tab {background: transparent;border: 0;} +.ant-tabs-tab-btn:focus, .ant-tabs-tab-remove:focus, .ant-tabs-tab-btn:active, .ant-tabs-tab-remove:active {color: #096dd9;} +.ant-tabs-tab-remove {color: rgba(0, 0, 0, 0.45);background: transparent;border: none;} +.ant-tabs-tab-remove:hover {color: rgba(0, 0, 0, 0.85);} +.ant-tabs-tab:hover {color: #40a9ff;} +.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {color: #1890ff;} +.ant-tabs-tab.ant-tabs-tab-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus, .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus, .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active, .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active {color: rgba(0, 0, 0, 0.25);} +a[nz-tab-link]::before {background-color: transparent;} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item {color: rgba(0, 0, 0, 0.85);} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover {background: #f5f5f5;} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled, .nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover {color: rgba(0, 0, 0, 0.25);background: transparent;} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a, .nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a {color: rgba(0, 0, 0, 0.25);} +.ant-tabs-tab-disabled a {color: rgba(0, 0, 0, 0.25);} +.ant-tag {color: rgba(0, 0, 0, 0.85);background: #fafafa;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-tag, .ant-tag a, .ant-tag a:hover {color: rgba(0, 0, 0, 0.85);} +.ant-tag-close-icon {color: rgba(0, 0, 0, 0.45);} +.ant-tag-close-icon:hover {color: rgba(0, 0, 0, 0.85);} +.ant-tag-has-color {border-color: transparent;} +.ant-tag-has-color, .ant-tag-has-color a, .ant-tag-has-color a:hover, .ant-tag-has-color .anticon-close, .ant-tag-has-color .anticon-close:hover {color: #fff;} +.ant-tag-checkable {background-color: transparent;border-color: transparent;} +.ant-tag-checkable:not(.ant-tag-checkable-checked):hover {color: #1890ff;} +.ant-tag-checkable:active, .ant-tag-checkable-checked {color: #fff;} +.ant-tag-checkable-checked {background-color: #1890ff;} +.ant-tag-checkable:active {background-color: #096dd9;} +.ant-tag-pink {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;} +.ant-tag-pink-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;} +.ant-tag-magenta {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;} +.ant-tag-magenta-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;} +.ant-tag-red {color: #cf1322;background: #fff1f0;border-color: #ffa39e;} +.ant-tag-red-inverse {color: #fff;background: #f5222d;border-color: #f5222d;} +.ant-tag-volcano {color: #d4380d;background: #fff2e8;border-color: #ffbb96;} +.ant-tag-volcano-inverse {color: #fff;background: #fa541c;border-color: #fa541c;} +.ant-tag-orange {color: #d46b08;background: #fff7e6;border-color: #ffd591;} +.ant-tag-orange-inverse {color: #fff;background: #fa8c16;border-color: #fa8c16;} +.ant-tag-yellow {color: #d4b106;background: #feffe6;border-color: #fffb8f;} +.ant-tag-yellow-inverse {color: #fff;background: #fadb14;border-color: #fadb14;} +.ant-tag-gold {color: #d48806;background: #fffbe6;border-color: #ffe58f;} +.ant-tag-gold-inverse {color: #fff;background: #faad14;border-color: #faad14;} +.ant-tag-cyan {color: #08979c;background: #e6fffb;border-color: #87e8de;} +.ant-tag-cyan-inverse {color: #fff;background: #13c2c2;border-color: #13c2c2;} +.ant-tag-lime {color: #7cb305;background: #fcffe6;border-color: #eaff8f;} +.ant-tag-lime-inverse {color: #fff;background: #a0d911;border-color: #a0d911;} +.ant-tag-green {color: #389e0d;background: #f6ffed;border-color: #b7eb8f;} +.ant-tag-green-inverse {color: #fff;background: #52c41a;border-color: #52c41a;} +.ant-tag-blue {color: #096dd9;background: #e6f7ff;border-color: #91d5ff;} +.ant-tag-blue-inverse {color: #fff;background: #1890ff;border-color: #1890ff;} +.ant-tag-geekblue {color: #1d39c4;background: #f0f5ff;border-color: #adc6ff;} +.ant-tag-geekblue-inverse {color: #fff;background: #2f54eb;border-color: #2f54eb;} +.ant-tag-purple {color: #531dab;background: #f9f0ff;border-color: #d3adf7;} +.ant-tag-purple-inverse {color: #fff;background: #722ed1;border-color: #722ed1;} +.ant-tag-success {color: #52c41a;background: #f6ffed;border-color: #b7eb8f;} +.ant-tag-processing {color: #1890ff;background: #e6f7ff;border-color: #91d5ff;} +.ant-tag-error {color: #f5222d;background: #fff1f0;border-color: #ffa39e;} +.ant-tag-warning {color: #fa8c16;background: #fff7e6;border-color: #ffd591;} +.ant-timeline {color: rgba(0, 0, 0, 0.85);} +.ant-timeline-item-tail {border-left: 2px solid #f0f0f0;} +.ant-timeline-item-pending .ant-timeline-item-head {background-color: transparent;} +.ant-timeline-item-head {background-color: #fff;border: 2px solid transparent;border-radius: 100px;} +.ant-timeline-item-head-blue {color: #1890ff;border-color: #1890ff;} +.ant-timeline-item-head-red {color: #ff4d4f;border-color: #ff4d4f;} +.ant-timeline-item-head-green {color: #52c41a;border-color: #52c41a;} +.ant-timeline-item-head-gray {color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-timeline-item-head-custom {border: 0;border-radius: 0;} +.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail {border-left: 2px dotted #f0f0f0;} +.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail {border-left: 2px dotted #f0f0f0;} +.ant-timeline-rtl .ant-timeline-item-tail {border-right: 2px solid #f0f0f0;border-left: none;} +.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail {border-right: 2px dotted #f0f0f0;border-left: none;} +.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail {border-right: 2px dotted #f0f0f0;border-left: none;} +.ant-tooltip {color: rgba(0, 0, 0, 0.85);} +.ant-tooltip-inner {color: #fff;background-color: rgba(0, 0, 0, 0.75);border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-tooltip-arrow {background: transparent;} +.ant-tooltip-arrow-content {background-color: rgba(0, 0, 0, 0.75);} +.ant-tooltip-placement-top .ant-tooltip-arrow-content, .ant-tooltip-placement-topLeft .ant-tooltip-arrow-content, .ant-tooltip-placement-topRight .ant-tooltip-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-placement-right .ant-tooltip-arrow-content, .ant-tooltip-placement-rightTop .ant-tooltip-arrow-content, .ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content {box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-placement-left .ant-tooltip-arrow-content, .ant-tooltip-placement-leftTop .ant-tooltip-arrow-content, .ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content {box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-placement-bottom .ant-tooltip-arrow-content, .ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content, .ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content {box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-pink .ant-tooltip-inner {background-color: #eb2f96;} +.ant-tooltip-pink .ant-tooltip-arrow-content {background-color: #eb2f96;} +.ant-tooltip-magenta .ant-tooltip-inner {background-color: #eb2f96;} +.ant-tooltip-magenta .ant-tooltip-arrow-content {background-color: #eb2f96;} +.ant-tooltip-red .ant-tooltip-inner {background-color: #f5222d;} +.ant-tooltip-red .ant-tooltip-arrow-content {background-color: #f5222d;} +.ant-tooltip-volcano .ant-tooltip-inner {background-color: #fa541c;} +.ant-tooltip-volcano .ant-tooltip-arrow-content {background-color: #fa541c;} +.ant-tooltip-orange .ant-tooltip-inner {background-color: #fa8c16;} +.ant-tooltip-orange .ant-tooltip-arrow-content {background-color: #fa8c16;} +.ant-tooltip-yellow .ant-tooltip-inner {background-color: #fadb14;} +.ant-tooltip-yellow .ant-tooltip-arrow-content {background-color: #fadb14;} +.ant-tooltip-gold .ant-tooltip-inner {background-color: #faad14;} +.ant-tooltip-gold .ant-tooltip-arrow-content {background-color: #faad14;} +.ant-tooltip-cyan .ant-tooltip-inner {background-color: #13c2c2;} +.ant-tooltip-cyan .ant-tooltip-arrow-content {background-color: #13c2c2;} +.ant-tooltip-lime .ant-tooltip-inner {background-color: #a0d911;} +.ant-tooltip-lime .ant-tooltip-arrow-content {background-color: #a0d911;} +.ant-tooltip-green .ant-tooltip-inner {background-color: #52c41a;} +.ant-tooltip-green .ant-tooltip-arrow-content {background-color: #52c41a;} +.ant-tooltip-blue .ant-tooltip-inner {background-color: #1890ff;} +.ant-tooltip-blue .ant-tooltip-arrow-content {background-color: #1890ff;} +.ant-tooltip-geekblue .ant-tooltip-inner {background-color: #2f54eb;} +.ant-tooltip-geekblue .ant-tooltip-arrow-content {background-color: #2f54eb;} +.ant-tooltip-purple .ant-tooltip-inner {background-color: #722ed1;} +.ant-tooltip-purple .ant-tooltip-arrow-content {background-color: #722ed1;} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small {border: 0;border-radius: 0;} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th {background: #fafafa;} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content .ant-table-row:last-child td {border-bottom: 1px solid #f0f0f0;} +.ant-transfer-customize-list .ant-input[disabled] {background-color: transparent;} +.ant-transfer {color: rgba(0, 0, 0, 0.85);} +.ant-transfer-disabled .ant-transfer-list {background: #f5f5f5;} +.ant-transfer-list {border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-transfer-list-search-action {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-search-action .anticon {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-search-action .anticon:hover {color: rgba(0, 0, 0, 0.45);} +.ant-transfer-list-header {color: rgba(0, 0, 0, 0.85);background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-transfer-list-content-item-remove {color: #1890ff;color: #d9d9d9;} +.ant-transfer-list-content-item-remove:focus, .ant-transfer-list-content-item-remove:hover {color: #40a9ff;} +.ant-transfer-list-content-item-remove:active {color: #096dd9;} +.ant-transfer-list-content-item-remove:focus, .ant-transfer-list-content-item-remove:hover {color: #40a9ff;} +.ant-transfer-list-content-item-remove:active {color: #096dd9;} +.ant-transfer-list-content-item-remove:hover {color: #40a9ff;} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {background-color: #f5f5f5;} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover {background-color: #dcf4ff;} +.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {background: transparent;} +.ant-transfer-list-content-item-checked {background-color: #e6f7ff;} +.ant-transfer-list-content-item-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-pagination {border-top: 1px solid #f0f0f0;} +.ant-transfer-list-body-not-found {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-footer {border-top: 1px solid #f0f0f0;} +.ant-typography {color: rgba(0, 0, 0, 0.85);} +.ant-typography.ant-typography-secondary {color: rgba(0, 0, 0, 0.45);} +.ant-typography.ant-typography-success {color: #52c41a;} +.ant-typography.ant-typography-warning {color: #faad14;} +.ant-typography.ant-typography-danger {color: #ff4d4f;} +a.ant-typography.ant-typography-danger:active, +a.ant-typography.ant-typography-danger:focus, +a.ant-typography.ant-typography-danger:hover {color: #ff7875;} +.ant-typography.ant-typography-disabled {color: rgba(0, 0, 0, 0.25);} +h1.ant-typography, .ant-typography h1 {color: rgba(0, 0, 0, 0.85);} +h2.ant-typography, .ant-typography h2 {color: rgba(0, 0, 0, 0.85);} +h3.ant-typography, .ant-typography h3 {color: rgba(0, 0, 0, 0.85);} +h4.ant-typography, .ant-typography h4 {color: rgba(0, 0, 0, 0.85);} +h5.ant-typography, .ant-typography h5 {color: rgba(0, 0, 0, 0.85);} +a.ant-typography, .ant-typography a {color: #1890ff;} +a.ant-typography:focus, .ant-typography a:focus, +a.ant-typography:hover, .ant-typography a:hover {color: #40a9ff;} +a.ant-typography:active, .ant-typography a:active {color: #096dd9;} +a.ant-typography:focus, .ant-typography a:focus, +a.ant-typography:hover, .ant-typography a:hover {color: #40a9ff;} +a.ant-typography:active, .ant-typography a:active {color: #096dd9;} +a.ant-typography[disabled], .ant-typography a[disabled], +a.ant-typography.ant-typography-disabled, .ant-typography a.ant-typography-disabled {color: rgba(0, 0, 0, 0.25);} +a.ant-typography[disabled]:active, .ant-typography a[disabled]:active, +a.ant-typography.ant-typography-disabled:active, .ant-typography a.ant-typography-disabled:active, +a.ant-typography[disabled]:hover, .ant-typography a[disabled]:hover, +a.ant-typography.ant-typography-disabled:hover, .ant-typography a.ant-typography-disabled:hover {color: rgba(0, 0, 0, 0.25);} +.ant-typography code {background: rgba(150, 150, 150, 0.1);border: 1px solid rgba(100, 100, 100, 0.2);border-radius: 3px;} +.ant-typography kbd {background: rgba(150, 150, 150, 0.06);border: 1px solid rgba(100, 100, 100, 0.2);border-bottom-width: 2px;border-radius: 3px;} +.ant-typography mark {background-color: #ffe58f;} +.ant-typography-expand, .ant-typography-edit, .ant-typography-copy {color: #1890ff;} +.ant-typography-expand:focus, .ant-typography-edit:focus, .ant-typography-copy:focus, .ant-typography-expand:hover, .ant-typography-edit:hover, .ant-typography-copy:hover {color: #40a9ff;} +.ant-typography-expand:active, .ant-typography-edit:active, .ant-typography-copy:active {color: #096dd9;} +.ant-typography-expand:focus, .ant-typography-edit:focus, .ant-typography-copy:focus, .ant-typography-expand:hover, .ant-typography-edit:hover, .ant-typography-copy:hover {color: #40a9ff;} +.ant-typography-expand:active, .ant-typography-edit:active, .ant-typography-copy:active {color: #096dd9;} +.ant-typography-copy-success, .ant-typography-copy-success:hover, .ant-typography-copy-success:focus {color: #52c41a;} +.ant-typography-edit-content-confirm {color: rgba(0, 0, 0, 0.45);} +.ant-typography pre {background: rgba(150, 150, 150, 0.1);border: 1px solid rgba(100, 100, 100, 0.2);border-radius: 3px;} +.ant-typography pre code {background: transparent;border: 0;} +.ant-typography blockquote {border-left: 4px solid rgba(100, 100, 100, 0.2);} +.ant-upload {color: rgba(0, 0, 0, 0.85);} +.ant-upload.ant-upload-select-picture-card {background-color: #fafafa;border: 1px dashed #d9d9d9;border-radius: 2px;} +.ant-upload.ant-upload-select-picture-card:hover {border-color: #1890ff;} +.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover {border-color: #d9d9d9;} +.ant-upload.ant-upload-drag {background: #fafafa;border: 1px dashed #d9d9d9;border-radius: 2px;} +.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) {border-color: #096dd9;} +.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover {border-color: #40a9ff;} +.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon {color: #40a9ff;} +.ant-upload.ant-upload-drag p.ant-upload-text {color: rgba(0, 0, 0, 0.85);} +.ant-upload.ant-upload-drag p.ant-upload-hint {color: rgba(0, 0, 0, 0.45);} +.ant-upload.ant-upload-drag .anticon-plus {color: rgba(0, 0, 0, 0.25);} +.ant-upload.ant-upload-drag .anticon-plus:hover {color: rgba(0, 0, 0, 0.45);} +.ant-upload.ant-upload-drag:hover .anticon-plus {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list {color: rgba(0, 0, 0, 0.85);} +.ant-upload-list-item-card-actions .anticon {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list-item-info .anticon-loading .anticon, .ant-upload-list-item-info .ant-upload-text-icon .anticon {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list-item .anticon-close {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list-item .anticon-close:hover {color: rgba(0, 0, 0, 0.85);} +.ant-upload-list-item:hover .ant-upload-list-item-info {background-color: #f5f5f5;} +.ant-upload-list-item-error, .ant-upload-list-item-error .ant-upload-text-icon > .anticon, .ant-upload-list-item-error .ant-upload-list-item-name {color: #ff4d4f;} +.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon {color: #ff4d4f;} +.ant-upload-list-picture .ant-upload-list-item, .ant-upload-list-picture-card .ant-upload-list-item {border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-upload-list-picture .ant-upload-list-item:hover, .ant-upload-list-picture-card .ant-upload-list-item:hover {background: transparent;} +.ant-upload-list-picture .ant-upload-list-item-error, .ant-upload-list-picture-card .ant-upload-list-item-error {border-color: #ff4d4f;} +.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, .ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info {background: transparent;} +.ant-upload-list-picture .ant-upload-list-item-uploading, .ant-upload-list-picture-card .ant-upload-list-item-uploading {border-style: dashed;} +.ant-upload-list-picture-card .ant-upload-list-item-info::before {background-color: rgba(0, 0, 0, 0.5);} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete {color: rgba(255, 255, 255, 0.85);} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover {color: #fff;} +.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item {background-color: #fafafa;} +.ant-select-auto-complete {color: rgba(0, 0, 0, 0.85);} +.ant-cascader {color: rgba(0, 0, 0, 0.85);} +.ant-cascader-input.ant-input {background-color: transparent !important;} +.ant-cascader-picker {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;} +.ant-cascader-picker-with-value .ant-cascader-picker-label {color: transparent;} +.ant-cascader-picker-disabled {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;} +.ant-cascader-picker:focus .ant-cascader-input {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input {border-right-width: 0;border-left-width: 1px !important;} +.ant-cascader-picker-borderless .ant-cascader-input {border-color: transparent !important;box-shadow: none !important;} +.ant-cascader-picker-show-search.ant-cascader-picker-focused {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-picker-clear {color: rgba(0, 0, 0, 0.25);background: #fff;} +.ant-cascader-picker-clear:hover {color: rgba(0, 0, 0, 0.45);} +.ant-cascader-picker-arrow {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-picker-label:hover + .ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover + .ant-cascader-input) {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-cascader-picker-label:hover + .ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover + .ant-cascader-input) {border-right-width: 0;border-left-width: 1px !important;} +.ant-cascader-menus {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-cascader-menu {border-right: 1px solid #f0f0f0;} +.ant-cascader-menu:first-child {border-radius: 2px 0 0 2px;} +.ant-cascader-menu:last-child {border-right-color: transparent;border-radius: 0 2px 2px 0;} +.ant-cascader-menu:only-child {border-radius: 2px;} +.ant-cascader-menu-item:hover {background: #f5f5f5;} +.ant-cascader-menu-item-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-menu-item-disabled:hover {background: transparent;} +.ant-cascader-menu-empty .ant-cascader-menu-item {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), .ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover {background-color: #e6f7ff;} +.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, .ant-cascader-menu-item-loading-icon {color: rgba(0, 0, 0, 0.45);} +.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, .ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-menu-item .ant-cascader-menu-item-keyword {color: #ff4d4f;} +.ant-cascader-menu-rtl .ant-cascader-menu {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-cascader-menu-rtl .ant-cascader-menu:first-child {border-radius: 0 2px 2px 0;} +.ant-cascader-menu-rtl .ant-cascader-menu:last-child {border-left-color: transparent;border-radius: 2px 0 0 2px;} +.ant-cascader-menu-rtl .ant-cascader-menu:only-child {border-radius: 2px;} +.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before {background: #f5f5f5;} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper {border-radius: 0;} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover {background: transparent;} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected {color: #fff;background: transparent;} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before {background: #1890ff;} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher {color: #fff;} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper {color: #fff;background: transparent;} +.ant-tree-checkbox {color: rgba(0, 0, 0, 0.85);} +.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, .ant-tree-checkbox:hover .ant-tree-checkbox-inner, .ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner {border-color: #1890ff;} +.ant-tree-checkbox-checked::after {border: 1px solid #1890ff;border-radius: 2px;} +.ant-tree-checkbox-inner {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;border-collapse: separate;} +.ant-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner {background-color: #1890ff;border-color: #1890ff;} +.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {border-color: rgba(0, 0, 0, 0.25);} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after {border-color: #f5f5f5;border-collapse: separate;} +.ant-tree-checkbox-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-tree-checkbox-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-tree-checkbox-group {color: rgba(0, 0, 0, 0.85);} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner {background-color: #fff;border-color: #d9d9d9;} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after {background-color: #1890ff;border: 0;} +.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after {background-color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-tree {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) {background: #e6f7ff;} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper {color: rgba(0, 0, 0, 0.25);} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover {background: transparent;} +.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper {background: #f5f5f5;} +.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title {color: inherit;} +.ant-tree-switcher-loading-icon {color: #1890ff;} +.ant-tree-switcher-leaf-line::before {border-left: 1px solid #d9d9d9;} +.ant-tree-switcher-leaf-line::after {border-bottom: 1px solid #d9d9d9;} +.ant-tree .ant-tree-node-content-wrapper {color: inherit;background: transparent;border-radius: 2px;} +.ant-tree .ant-tree-node-content-wrapper:hover {background-color: #f5f5f5;} +.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {background-color: #bae7ff;} +.ant-tree-unselectable .ant-tree-node-content-wrapper:hover {background-color: transparent;} +.ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator {background-color: #1890ff;border-radius: 1px;} +.ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after {background-color: transparent;border: 2px solid #1890ff;border-radius: 50%;} +.ant-tree .ant-tree-treenode.drop-container > [draggable] {box-shadow: 0 0 0 2px #1890ff;} +.ant-tree-show-line .ant-tree-indent-unit::before {border-right: 1px solid #d9d9d9;} +.ant-tree-show-line .ant-tree-switcher {background: #fff;} +.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before {border-right: none;border-left: 1px solid #d9d9d9;} +.font-highlight {color: #ff4d4f;} +.ant-select-tree-checkbox {color: rgba(0, 0, 0, 0.85);} +.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, .ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, .ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner {border-color: #1890ff;} +.ant-select-tree-checkbox-checked::after {border: 1px solid #1890ff;border-radius: 2px;} +.ant-select-tree-checkbox-inner {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;border-collapse: separate;} +.ant-select-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner {background-color: #1890ff;border-color: #1890ff;} +.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after {border-color: rgba(0, 0, 0, 0.25);} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after {border-color: #f5f5f5;border-collapse: separate;} +.ant-select-tree-checkbox-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-select-tree-checkbox-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-select-tree-checkbox-group {color: rgba(0, 0, 0, 0.85);} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner {background-color: #fff;border-color: #d9d9d9;} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after {background-color: #1890ff;border: 0;} +.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after {background-color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-tree-select-dropdown .ant-select-tree {border-radius: 0;} +.ant-select-tree {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) {background: #e6f7ff;} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper {color: rgba(0, 0, 0, 0.25);} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover {background: transparent;} +.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper {background: #f5f5f5;} +.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title {color: inherit;} +.ant-select-tree-switcher-loading-icon {color: #1890ff;} +.ant-select-tree-switcher-leaf-line::before {border-left: 1px solid #d9d9d9;} +.ant-select-tree-switcher-leaf-line::after {border-bottom: 1px solid #d9d9d9;} +.ant-select-tree .ant-select-tree-node-content-wrapper {color: inherit;background: transparent;border-radius: 2px;} +.ant-select-tree .ant-select-tree-node-content-wrapper:hover {background-color: #f5f5f5;} +.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected {background-color: #bae7ff;} +.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover {background-color: transparent;} +.ant-select-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator {background-color: #1890ff;border-radius: 1px;} +.ant-select-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after {background-color: transparent;border: 2px solid #1890ff;border-radius: 50%;} +.ant-select-tree .ant-select-tree-treenode.drop-container > [draggable] {box-shadow: 0 0 0 2px #1890ff;} +.ant-select-tree-show-line .ant-select-tree-indent-unit::before {border-right: 1px solid #d9d9d9;} +.ant-select-tree-show-line .ant-select-tree-switcher {background: #fff;} +.ant-tree.ant-select-tree.ant-tree-show-line nz-tree-node[builtin]:not(:last-child) > li::before {border-left: 1px solid #d9d9d9;} +.ant-picker-calendar {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-picker-calendar .ant-picker-panel {background: #fff;border: 0;border-top: 1px solid #f0f0f0;border-radius: 0;} +.ant-picker-calendar-mini {border-radius: 2px;} +.ant-picker-calendar-mini .ant-picker-panel {border-radius: 0 0 2px 2px;} +.ant-picker-calendar-full .ant-picker-panel {background: #fff;border: 0;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date {background: #f5f5f5;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today {background: #e6f7ff;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value {color: #1890ff;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {border: 0;border-top: 2px solid #f0f0f0;border-radius: 0;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content {color: rgba(0, 0, 0, 0.85);} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today {border-color: #1890ff;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value {color: rgba(0, 0, 0, 0.85);} +.ant-result-success .ant-result-icon > .anticon {color: #52c41a;} +.ant-result-error .ant-result-icon > .anticon {color: #ff4d4f;} +.ant-result-info .ant-result-icon > .anticon {color: #1890ff;} +.ant-result-warning .ant-result-icon > .anticon {color: #faad14;} +.ant-result-title {color: rgba(0, 0, 0, 0.85);} +.ant-result-subtitle {color: rgba(0, 0, 0, 0.45);} +.ant-result-content {background-color: #fafafa;} +.ant-image-img-placeholder {background-color: #f5f5f5;background-repeat: no-repeat;background-position: center center;background-size: 30%;} +.ant-image-mask {color: #fff;background: rgba(0, 0, 0, 0.5);} +.ant-image-preview-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-image-preview-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-image-preview-operations {color: rgba(0, 0, 0, 0.85);color: rgba(255, 255, 255, 0.85);background: rgba(0, 0, 0, 0.1);} +.ant-image-preview-operations-operation-disabled {color: rgba(255, 255, 255, 0.25);} +.ant-image-preview-switch-left, .ant-image-preview-switch-right {color: rgba(255, 255, 255, 0.85);background: rgba(0, 0, 0, 0.1);border-radius: 50%;} +.ant-image-preview-switch-left-disabled, .ant-image-preview-switch-right-disabled {color: rgba(255, 255, 255, 0.25);} +.drawer-footer {background: #fff;border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.ant-form-item-label em {color: #bfbfbf;} +.modal-header {background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.modal-title {color: rgba(0, 0, 0, 0.85);} +.modal-title small {color: #8c8c8c;} +.modal-footer {border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.ant-table td > img, .ant-table td .img {border-radius: 4px;} +.ant-tag__plus .ant-tag {background: #fff;border-style: dashed;} +fieldset {border: none;} +.header-dropdown {background-color: #fff;border-radius: 4px;box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);} +.sf__optional {color: rgba(0, 0, 0, 0.35);} +.sf__array-container .ant-card .sf__array-remove {background: rgba(0, 0, 0, 0.26);border-radius: 50%;} +.sf__array-container .ant-card .sf__array-remove i {color: #fff;} +.sf .ant-upload-select-picture-card i {color: #999;} +.sf .ant-transfer-list {background: #fff;} +.setting-drawer__content {background: #fff;} +.setting-drawer__title {color: rgba(0, 0, 0, 0.85);} +.setting-drawer__theme-tag {color: #fff;border-radius: 2px;} +.setting-drawer__handle {background: #1890ff;border-radius: 4px 0 0 4px;} +.setting-drawer__handle-icon {color: #fff;} +.setting-drawer-rtl .setting-drawer__handle {border-radius: 0 4px 4px 0;} +.theme-btn-active {color: #1890ff;} +.theme-btn .ant-avatar {color: #000;background-color: #fff;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.theme-btn .ant-avatar:hover {color: #1890ff;} +.yn__yes {color: #1890ff;} +.yn__no {color: #8c8c8c;} +.border {border: 1px solid #f0f0f0 !important;} +.border-0 {border: 0 !important;} +.border-top-0 {border-top: 0 !important;} +.border-right-0 {border-right: 0 !important;} +.border-bottom-0 {border-bottom: 0 !important;} +.border-left-0 {border-left: 0 !important;} +.border-1 {border: 1px solid #f0f0f0 !important;} +.border-top-1 {border-top: 1px solid #f0f0f0 !important;} +.border-right-1 {border-right: 1px solid #f0f0f0 !important;} +.border-bottom-1 {border-bottom: 1px solid #f0f0f0 !important;} +.border-left-1 {border-left: 1px solid #f0f0f0 !important;} +.border-red {border-color: #f5222d !important;} +.border-volcano {border-color: #fa541c !important;} +.border-orange {border-color: #fa8c16 !important;} +.border-gold {border-color: #faad14 !important;} +.border-yellow {border-color: #fadb14 !important;} +.border-lime {border-color: #a0d911 !important;} +.border-green {border-color: #52c41a !important;} +.border-cyan {border-color: #13c2c2 !important;} +.border-blue {border-color: #1890ff !important;} +.border-geekblue {border-color: #2f54eb !important;} +.border-purple {border-color: #722ed1 !important;} +.border-magenta {border-color: #eb2f96 !important;} +.border-grey {border-color: #bfbfbf !important;} +.border-primary {border-color: #1890ff !important;} +.border-success {border-color: #52c41a !important;} +.border-error {border-color: #ff4d4f !important;} +.border-warning {border-color: #faad14 !important;} +.border-info {border-color: #1890ff !important;} +.border-processing {border-color: #1890ff !important;} +.border-highlight {border-color: #ff4d4f !important;} +.border-normal {border-color: #d9d9d9 !important;} +.rounded-sm {border-radius: 2px;} +.rounded-top-left-sm {border-top-left-radius: 2px;} +.rounded-top-right-sm {border-top-right-radius: 2px;} +.rounded-bottom-left-sm {border-bottom-left-radius: 2px;} +.rounded-bottom-right-sm {border-bottom-right-radius: 2px;} +.rounded-md {border-radius: 2px;} +.rounded-top-left-md {border-top-left-radius: 2px;} +.rounded-top-right-md {border-top-right-radius: 2px;} +.rounded-bottom-left-md {border-bottom-left-radius: 2px;} +.rounded-bottom-right-md {border-bottom-right-radius: 2px;} +.rounded-lg {border-radius: 4px;} +.rounded-top-left-lg {border-top-left-radius: 4px;} +.rounded-top-right-lg {border-top-right-radius: 4px;} +.rounded-bottom-left-lg {border-bottom-left-radius: 4px;} +.rounded-bottom-right-lg {border-bottom-right-radius: 4px;} +.rounded-circle {border-radius: 50%;} +.rounded-0 {border-radius: 0;} +.border-white {border-color: #fff !important;} +code {background-color: #f7f7f7;border: 1px solid #eee;border-radius: 2px;} +.bg-white {background-color: #fff !important;} +.bg-transparent {background-color: transparent !important;} +.text-white {color: #fff !important;} +.text-hover:hover {color: #1890ff !important;} +.bg-red-light {background-color: #ff4d4f !important;} +.bg-red {background-color: #f5222d !important;} +.bg-red-dark {background-color: #cf1322 !important;} +.bg-red-light-h:hover {background-color: #ff4d4f !important;} +.bg-red-h:hover {background-color: #f5222d !important;} +.bg-red-dark-h:hover {background-color: #cf1322 !important;} +.text-red-light {color: #ff4d4f !important;} +.text-red {color: #f5222d !important;} +.text-red-dark {color: #cf1322 !important;} +.bg-volcano-light {background-color: #ff7a45 !important;} +.bg-volcano {background-color: #fa541c !important;} +.bg-volcano-dark {background-color: #d4380d !important;} +.bg-volcano-light-h:hover {background-color: #ff7a45 !important;} +.bg-volcano-h:hover {background-color: #fa541c !important;} +.bg-volcano-dark-h:hover {background-color: #d4380d !important;} +.text-volcano-light {color: #ff7a45 !important;} +.text-volcano {color: #fa541c !important;} +.text-volcano-dark {color: #d4380d !important;} +.bg-orange-light {background-color: #ffa940 !important;} +.bg-orange {background-color: #fa8c16 !important;} +.bg-orange-dark {background-color: #d46b08 !important;} +.bg-orange-light-h:hover {background-color: #ffa940 !important;} +.bg-orange-h:hover {background-color: #fa8c16 !important;} +.bg-orange-dark-h:hover {background-color: #d46b08 !important;} +.text-orange-light {color: #ffa940 !important;} +.text-orange {color: #fa8c16 !important;} +.text-orange-dark {color: #d46b08 !important;} +.bg-gold-light {background-color: #ffc53d !important;} +.bg-gold {background-color: #faad14 !important;} +.bg-gold-dark {background-color: #d48806 !important;} +.bg-gold-light-h:hover {background-color: #ffc53d !important;} +.bg-gold-h:hover {background-color: #faad14 !important;} +.bg-gold-dark-h:hover {background-color: #d48806 !important;} +.text-gold-light {color: #ffc53d !important;} +.text-gold {color: #faad14 !important;} +.text-gold-dark {color: #d48806 !important;} +.bg-yellow-light {background-color: #ffec3d !important;} +.bg-yellow {background-color: #fadb14 !important;} +.bg-yellow-dark {background-color: #d4b106 !important;} +.bg-yellow-light-h:hover {background-color: #ffec3d !important;} +.bg-yellow-h:hover {background-color: #fadb14 !important;} +.bg-yellow-dark-h:hover {background-color: #d4b106 !important;} +.text-yellow-light {color: #ffec3d !important;} +.text-yellow {color: #fadb14 !important;} +.text-yellow-dark {color: #d4b106 !important;} +.bg-lime-light {background-color: #bae637 !important;} +.bg-lime {background-color: #a0d911 !important;} +.bg-lime-dark {background-color: #7cb305 !important;} +.bg-lime-light-h:hover {background-color: #bae637 !important;} +.bg-lime-h:hover {background-color: #a0d911 !important;} +.bg-lime-dark-h:hover {background-color: #7cb305 !important;} +.text-lime-light {color: #bae637 !important;} +.text-lime {color: #a0d911 !important;} +.text-lime-dark {color: #7cb305 !important;} +.bg-green-light {background-color: #73d13d !important;} +.bg-green {background-color: #52c41a !important;} +.bg-green-dark {background-color: #389e0d !important;} +.bg-green-light-h:hover {background-color: #73d13d !important;} +.bg-green-h:hover {background-color: #52c41a !important;} +.bg-green-dark-h:hover {background-color: #389e0d !important;} +.text-green-light {color: #73d13d !important;} +.text-green {color: #52c41a !important;} +.text-green-dark {color: #389e0d !important;} +.bg-cyan-light {background-color: #36cfc9 !important;} +.bg-cyan {background-color: #13c2c2 !important;} +.bg-cyan-dark {background-color: #08979c !important;} +.bg-cyan-light-h:hover {background-color: #36cfc9 !important;} +.bg-cyan-h:hover {background-color: #13c2c2 !important;} +.bg-cyan-dark-h:hover {background-color: #08979c !important;} +.text-cyan-light {color: #36cfc9 !important;} +.text-cyan {color: #13c2c2 !important;} +.text-cyan-dark {color: #08979c !important;} +.bg-blue-light {background-color: #40a9ff !important;} +.bg-blue {background-color: #1890ff !important;} +.bg-blue-dark {background-color: #096dd9 !important;} +.bg-blue-light-h:hover {background-color: #40a9ff !important;} +.bg-blue-h:hover {background-color: #1890ff !important;} +.bg-blue-dark-h:hover {background-color: #096dd9 !important;} +.text-blue-light {color: #40a9ff !important;} +.text-blue {color: #1890ff !important;} +.text-blue-dark {color: #096dd9 !important;} +.bg-geekblue-light {background-color: #597ef7 !important;} +.bg-geekblue {background-color: #2f54eb !important;} +.bg-geekblue-dark {background-color: #1d39c4 !important;} +.bg-geekblue-light-h:hover {background-color: #597ef7 !important;} +.bg-geekblue-h:hover {background-color: #2f54eb !important;} +.bg-geekblue-dark-h:hover {background-color: #1d39c4 !important;} +.text-geekblue-light {color: #597ef7 !important;} +.text-geekblue {color: #2f54eb !important;} +.text-geekblue-dark {color: #1d39c4 !important;} +.bg-purple-light {background-color: #9254de !important;} +.bg-purple {background-color: #722ed1 !important;} +.bg-purple-dark {background-color: #531dab !important;} +.bg-purple-light-h:hover {background-color: #9254de !important;} +.bg-purple-h:hover {background-color: #722ed1 !important;} +.bg-purple-dark-h:hover {background-color: #531dab !important;} +.text-purple-light {color: #9254de !important;} +.text-purple {color: #722ed1 !important;} +.text-purple-dark {color: #531dab !important;} +.bg-magenta-light {background-color: #f759ab !important;} +.bg-magenta {background-color: #eb2f96 !important;} +.bg-magenta-dark {background-color: #c41d7f !important;} +.bg-magenta-light-h:hover {background-color: #f759ab !important;} +.bg-magenta-h:hover {background-color: #eb2f96 !important;} +.bg-magenta-dark-h:hover {background-color: #c41d7f !important;} +.text-magenta-light {color: #f759ab !important;} +.text-magenta {color: #eb2f96 !important;} +.text-magenta-dark {color: #c41d7f !important;} +.bg-grey-light {background-color: #d9d9d9 !important;} +.bg-grey {background-color: #bfbfbf !important;} +.bg-grey-dark {background-color: #8c8c8c !important;} +.bg-grey-light-h:hover {background-color: #d9d9d9 !important;} +.bg-grey-h:hover {background-color: #bfbfbf !important;} +.bg-grey-dark-h:hover {background-color: #8c8c8c !important;} +.text-grey-light {color: #d9d9d9 !important;} +.text-grey {color: #bfbfbf !important;} +.text-grey-dark {color: #8c8c8c !important;} +.bg-primary-light {background-color: #40a9ff !important;} +.bg-primary {background-color: #1890ff !important;} +.bg-primary-dark {background-color: #096dd9 !important;} +.bg-primary-h:hover {background-color: #1890ff !important;} +.text-primary-light {color: #40a9ff !important;} +.text-primary {color: #1890ff !important;} +.text-primary-dark {color: #096dd9 !important;} +.bg-success-light {background-color: #73d13d !important;} +.bg-success {background-color: #52c41a !important;} +.bg-success-dark {background-color: #389e0d !important;} +.bg-success-h:hover {background-color: #52c41a !important;} +.text-success-light {color: #73d13d !important;} +.text-success {color: #52c41a !important;} +.text-success-dark {color: #389e0d !important;} +.bg-error-light {background-color: #ff7875 !important;} +.bg-error {background-color: #ff4d4f !important;} +.bg-error-dark {background-color: #d9363e !important;} +.bg-error-h:hover {background-color: #ff4d4f !important;} +.text-error-light {color: #ff7875 !important;} +.text-error {color: #ff4d4f !important;} +.text-error-dark {color: #d9363e !important;} +.bg-warning-light {background-color: #ffc53d !important;} +.bg-warning {background-color: #faad14 !important;} +.bg-warning-dark {background-color: #d48806 !important;} +.bg-warning-h:hover {background-color: #faad14 !important;} +.text-warning-light {color: #ffc53d !important;} +.text-warning {color: #faad14 !important;} +.text-warning-dark {color: #d48806 !important;} +.bg-info-light {background-color: #40a9ff !important;} +.bg-info {background-color: #1890ff !important;} +.bg-info-dark {background-color: #096dd9 !important;} +.bg-info-h:hover {background-color: #1890ff !important;} +.text-info-light {color: #40a9ff !important;} +.text-info {color: #1890ff !important;} +.text-info-dark {color: #096dd9 !important;} +.bg-processing-light {background-color: #40a9ff !important;} +.bg-processing {background-color: #1890ff !important;} +.bg-processing-dark {background-color: #096dd9 !important;} +.bg-processing-h:hover {background-color: #1890ff !important;} +.text-processing-light {color: #40a9ff !important;} +.text-processing {color: #1890ff !important;} +.text-processing-dark {color: #096dd9 !important;} +.bg-highlight-light {background-color: #ff7875 !important;} +.bg-highlight {background-color: #ff4d4f !important;} +.bg-highlight-dark {background-color: #d9363e !important;} +.bg-highlight-h:hover {background-color: #ff4d4f !important;} +.text-highlight-light {color: #ff7875 !important;} +.text-highlight {color: #ff4d4f !important;} +.text-highlight-dark {color: #d9363e !important;} +.bg-normal-light {background-color: #e6d8d8 !important;} +.bg-normal {background-color: #d9d9d9 !important;} +.bg-normal-dark {background-color: #b3a8a8 !important;} +.bg-normal-h:hover {background-color: #d9d9d9 !important;} +.text-normal-light {color: #e6d8d8 !important;} +.text-normal {color: #d9d9d9 !important;} +.text-normal-dark {color: #b3a8a8 !important;} +.bg-grey-lighter {background-color: #f5f5f5 !important;} +.bg-grey-lighter-h:hover {background-color: #f5f5f5 !important;} +.text-grey-lighter {color: #f5f5f5 !important;} +.bg-grey-darker {background-color: #262626 !important;} +.bg-grey-darker-h:hover {background-color: #262626 !important;} +.text-grey-darker {color: #262626 !important;} +.no-data {color: rgba(0, 0, 0, 0.25);} +.bg-center {background-position: center center;background-size: cover;} +.page-loading {background: #f5f5f5;} +.disabled {color: rgba(0, 0, 0, 0.25);} +body, .scrollbar, .ant-dialog-wrap, .ant-drawer-body, .ant-drawer-wrapper-body, .ant-anchor-wrapper, +textarea.ant-input {scrollbar-color: rgba(0, 0, 0, 0.3) #6e6e6e;} +body::-webkit-scrollbar-track, .scrollbar::-webkit-scrollbar-track, .ant-dialog-wrap::-webkit-scrollbar-track, .ant-drawer-body::-webkit-scrollbar-track, .ant-drawer-wrapper-body::-webkit-scrollbar-track, .ant-anchor-wrapper::-webkit-scrollbar-track, +textarea.ant-input::-webkit-scrollbar-track {box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);} +body::-webkit-scrollbar-thumb, .scrollbar::-webkit-scrollbar-thumb, .ant-dialog-wrap::-webkit-scrollbar-thumb, .ant-drawer-body::-webkit-scrollbar-thumb, .ant-drawer-wrapper-body::-webkit-scrollbar-thumb, .ant-anchor-wrapper::-webkit-scrollbar-thumb, +textarea.ant-input::-webkit-scrollbar-thumb {background-color: #6e6e6e;} +.st__btn-sub .st__btn-text {color: inherit;} +.st__btn-disabled .st__btn-text {color: rgba(0, 0, 0, 0.25);} +.st .nz-resizable-handle > i {background: #d9d9d9;} +.st .nz-resizable-preview {border-width: 0;border-right-width: 1px;} +.st__head-optional, .st__head-tip {color: rgba(0, 0, 0, 0.35);} +.st .ant-table-thead > tr > th .ant-table-filter-selected.ant-table-filter-icon {color: #1890ff;} +.st .ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td {border-bottom: 1px solid #f0f0f0;} +.sv__title {color: rgba(0, 0, 0, 0.85);} +.sv__label {color: rgba(0, 0, 0, 0.5);} +.sv__label-optional {color: rgba(0, 0, 0, 0.35);} +.sv__detail {color: rgba(0, 0, 0, 0.85);} +.sv__type-primary .sv__detail {color: #1890ff;} +.sv__type-success .sv__detail {color: #52c41a;} +.sv__type-danger .sv__detail {color: #ff4d4f;} +.sv__type-warning .sv__detail {color: #faad14;} +.sv__unit {color: #8c8c8c;} +.sv__small .sv__title {color: rgba(0, 0, 0, 0.85);} +.sv__value-prefix, .sv__value-unit {color: rgba(0, 0, 0, 0.5);} +.sv__value:not(:first-child)::before {color: rgba(0, 0, 0, 0.5);} +.se__title {color: rgba(0, 0, 0, 0.85);} +.se__label-optional {color: rgba(0, 0, 0, 0.35);} +.se__line {border-bottom: 1px dashed #f0f0f0;} +.avatar-list__item .ant-avatar {border: 1px solid #fff;} +.ellipsis__shadow {color: transparent;} +.error-collect {color: #f5222d;} +.exception__img {background-repeat: no-repeat;background-position: 50% 50%;background-size: 100% 100%;} +.exception__cont-title {color: #434e59;} +.exception__cont-desc {color: rgba(0, 0, 0, 0.45);} +.footer-toolbar {background: #fff;border-top: 1px solid #f0f0f0;box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03);} +.global-footer__links-item {color: rgba(0, 0, 0, 0.45);} +.global-footer__links-item:hover {color: rgba(0, 0, 0, 0.85);} +.global-footer__copyright {color: rgba(0, 0, 0, 0.45);} +.notice-icon .ant-list-item:last-child {border-bottom: 0;} +.notice-icon .ant-list-item:hover {background: #e6f7ff;} +.notice-icon .ant-list-item .ant-avatar {background: #fff;} +.notice-icon__notfound {color: rgba(0, 0, 0, 0.45);} +.notice-icon__clear {color: rgba(0, 0, 0, 0.85);border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.notice-icon__clear:hover {color: rgba(0, 0, 0, 0.85);} +.notice-icon__item-extra {color: rgba(0, 0, 0, 0.45);} +.page-header {background-color: #fff;border-bottom: 1px solid #f0f0f0;} +.page-header .ant-tabs-bar {border-bottom: 1px solid #f0f0f0;} +.page-header__logo img {border-radius: 2px;} +.page-header__title {color: rgba(0, 0, 0, 0.85);} +.quick-menu, .quick-menu__ctrl {background-color: #fff;border: 1px solid #fff;box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);} +.quick-menu__ctrl {border-right: 0;border-radius: 3px 0 0 3px;} +.result__icon-success {color: #52c41a;} +.result__icon-error {color: #ff4d4f;} +.result__title {color: rgba(0, 0, 0, 0.85);} +.result__desc {color: rgba(0, 0, 0, 0.45);} +.result__extra {background: #fafafa;border-radius: 2px;} +.result .ant-steps .ant-steps-head, .result .ant-steps .ant-steps-title {background: #fafafa;} +.reuse-tab {background-color: #fff;} +.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__op {color: rgba(0, 0, 0, 0.85);} +.reuse-tab__line {border-bottom: 1px solid #d9d9d9;} +.reuse-tab__line .ant-tabs-nav::before {border-bottom: none;} +.reuse-tab__cm .ant-menu {border: 1px solid #e9e9e9;} +.loading-backdrop {background-color: rgba(0, 0, 0, 0.15);} +.loading-default__icon {color: #1890ff;} +.loading-default__text {color: #1890ff;} +.onboarding__mask {background-color: #000;} +.onboarding__light {background-color: rgba(255, 255, 255, 0.9);} +.onboarding__total {color: rgba(0, 0, 0, 0.85);} +.g2-card__meta {color: rgba(0, 0, 0, 0.45);} +.g2-card__avatar img {border-radius: 100%;} +.g2-card__total {color: rgba(0, 0, 0, 0.85);} +.g2-card__footer {border-top: 1px solid #f0f0f0;} +.g2-mini-progress__wrap {background-color: #f5f5f5;} +.g2-mini-progress__value {background-color: #1890ff;border-radius: 1px 0 0 1px;} +.g2-mini-progress__target-item {border-radius: 100px;} +.g2-pie__legend-title {color: rgba(0, 0, 0, 0.85);} +.g2-pie__legend-dot {border-radius: 8px;} +.g2-pie__legend-percent {color: rgba(0, 0, 0, 0.45);} +.g2-pie__total-title {color: rgba(0, 0, 0, 0.45);} +.g2-pie__total-stat {color: rgba(0, 0, 0, 0.85);} +.g2-radar__legend-item {color: rgba(0, 0, 0, 0.45);} +.g2-radar__legend-item::after {background-color: #f0f0f0;} +.g2-radar__legend-title {color: rgba(0, 0, 0, 0.85);} +.g2-radar__legend-dot {border-radius: 6px;} +.g2-water-wave__desc-title {color: rgba(0, 0, 0, 0.45);} +.g2-water-wave__desc-percent {color: rgba(0, 0, 0, 0.85);} +.number-info__title {color: rgba(0, 0, 0, 0.85);} +.number-info__title-sub {color: rgba(0, 0, 0, 0.45);} +.number-info__value-suffix {color: rgba(0, 0, 0, 0.85);} +.number-info__value-text {color: rgba(0, 0, 0, 0.85);} +.number-info__value-sub {color: rgba(0, 0, 0, 0.45);} +.number-info__value-sub .anticon-caret-up {color: #f5222d;} +.number-info__value-sub .anticon-caret-down {color: #52c41a;} +.number-info__light .number-info__value-text {color: rgba(0, 0, 0, 0.85);} +.number-info:not(:first-child)::after {background-color: #f0f0f0;} +.trend__up {color: #f5222d;} +.trend__down {color: #52c41a;} +.trend__grey .trend__up, .trend__grey .trend__down {color: rgba(0, 0, 0, 0.85);} +.trend__reverse .trend__up {color: #52c41a;} +.trend__reverse .trend__down {color: #f5222d;} +.alain-pro__menu-title-badge {background: #1890ff;border-radius: 50%;} +.alain-pro__menu-title-badge > em {color: #fff;} +.alain-pro__main {background-color: #f8f8f8;} +.alain-pro__header {background: #fff;box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);} +.alain-pro__header-item, .alain-pro__header-item-icon {color: rgba(0, 0, 0, 0.65);} +.alain-pro__header-item:hover {background: rgba(0, 0, 0, 0.025);} +.alain-pro__header-item:hover, .alain-pro__header-item:hover .alain-pro__header-item-icon {color: #000;} +.alain-pro__header-search:hover {background: transparent;} +.alain-pro__top-nav {box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);} +.alain-pro__top-nav .alain-pro__menu .ant-menu {border: none;} +.alain-pro__top-nav-logo h1 {color: #fff;} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item-icon {color: rgba(255, 255, 255, 0.65);} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open {background: #1890ff;} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item-icon, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item-icon {color: #fff;} +.alain-pro__light .alain-pro__top-nav {background-color: #fff;} +.alain-pro__light .alain-pro__top-nav h1 {color: #002140;} +.alain-pro__sider {box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35);} +.alain-pro__sider-logo {background: #002140;} +.alain-pro__sider-logo h1 {color: white;} +.alain-pro__light .alain-pro__sider {background-color: #fff;box-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05);} +.alain-pro__light .alain-pro__sider-logo {background: #fff;box-shadow: 1px 1px 0 0 #f0f0f0;} +.alain-pro__light .alain-pro__sider-logo h1 {color: #1890ff;} +.alain-pro__light .alain-pro__sider .ant-menu-light {border-right-color: transparent;} +.alain-pro__sider-fixed .alain-pro__side-nav-wrap::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 0 transparent;} +.alain-pro__sider-fixed .alain-pro__side-nav-wrap::-webkit-scrollbar-thumb {background-color: transparent;} +.btn-flat {background: transparent !important;border-color: transparent !important;box-shadow: none !important;} +.setting-drawer__blockChecbox-item {border-radius: 2px;} +.setting-drawer__blockChecbox-selectIcon {color: #1890ff;} +.setting-drawer__handle {background: rgba(0, 0, 0, 0.38);} +.alain-pro__header-search-input {background: transparent;border-radius: 0;} +.alain-pro__header-search-input .ant-select-selection {background: transparent;} +.alain-pro__header-search-input input {background: transparent;border: 0;box-shadow: none;} +.alain-pro__header-search-input, .alain-pro__header-search-input:hover, .alain-pro__header-search-input:focus {border-bottom: 1px solid #d9d9d9;} +.alain-pro__header-search-show:hover {background: none !important;} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-search-show .ant-input {color: #fff;} +.brand-bordered {border: 1px solid rgba(24, 28, 33, 0.06);} +.brand-bordered > [class*='ant-col-']::before {border-top: 1px solid rgba(24, 28, 33, 0.06);} +.brand-bordered > [class*='ant-col-']::after {border-left: 1px solid rgba(24, 28, 33, 0.06);} +.brand-border-width-2 {border-width: 2px !important;} +.dd-btn {color: #bfbfbf;border-radius: 50%;} +.dd-btn:hover {background: #f5f5f5;border: 1px solid #f0f0f0;} +.attachment {border: 1px solid #e8e8e8;} +.attachment-img {background-color: transparent;background-position: center center;background-size: cover;} +.img-thm {background-color: transparent;} +.img-thm__mask {background-color: rgba(0, 0, 0, 0.3);} +.img-thm__icon {color: #fff;} +.quill-editor.ng-dirty.ng-invalid .ql-toolbar, .quill-editor.ng-dirty.ng-invalid .ql-container {border-color: #ff4d4f;} +app-file-manager file-manager {background: #fff;} +.file-manager__header {border-bottom: 2px solid rgba(0, 0, 0, 0.05);} +.file-manager__small .file-item__pixel > span {background: none;} +.file-item {border: 1px solid transparent;} +.file-item:hover {border-color: rgba(0, 0, 0, 0.05);} +.file-item__selected {background-color: #e6f7ff !important;border-color: #1890ff !important;} +.file-item__img {background-color: transparent;background-position: center center;background-size: cover;} +.file-item__name {color: #4e5155;} +.file-item__pixel > span {background: rgba(0, 0, 0, 0.01);} +.ware__imgs-item {border: 1px solid #ccc;} +.ware__imgs-item-del {color: #fff;} +.ware__imgs-item::before {color: #ccc;} +.faq-v1__item-remark {color: #bfbfbf;} +.faq-v1__item-hover {background-color: rgba(0, 0, 0, 0.02);} +.faq-v1__item-hover:hover {background-color: rgba(0, 0, 0, 0.04);} +.faq-v1__item-hover:hover .faq__item-icon, .faq-v1__item-hover:hover .faq__item-title {color: #1890ff;} +.task__container {border-bottom: 1px solid #f0f0f0;} +.task__container:last-child {border-bottom: none;} +.task__title {color: #a3a4a6;} +.task__item {border-top: 1px solid rgba(24, 28, 33, 0.06);} +.task__item:first-child {border-top: none;} +.task__item-handle {color: #bfbfbf;} +.task__item-done {color: #a3a4a6;} +.message__sidebox {background: #f5f5f5;} +.message__tools {border-top: 1px solid #d9d9d9;border-bottom: 1px solid #d9d9d9;} +.message__item {border-top: 1px solid #f0f0f0;} +.message__item:first-child {border-top: none;} +.message__item-subject {color: #595959;} +.message__item-subject:hover {color: #1890ff;} +.message__item-date {color: #bfbfbf;} +.course__img {background-color: transparent;background-position: center center;background-size: cover;border-top-left-radius: 2px;border-top-right-radius: 2px;} +.chat__container {background: #fff;border: 1px solid #f0f0f0;} +.chat__sidebox {box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03);} +.chat__contact {color: #4e5155;} +.chat__contact:hover:not(.chat__contact-active) {background-color: rgba(24, 28, 33, 0.03);} +.chat__contact .ant-badge-status-text {color: #52c41a;} +.chat__contact-offline .ant-badge-status-text {color: #f5222d;} +.chat__contact-active {background-color: #e84c64;} +.chat__contact-active, .chat__contact-active .ant-badge-status-text {color: #fff;} +.chat__user-avatar {border-radius: 50%;} +.chat__message-text {color: #bfbfbf;} +.chat__message-time {color: #bfbfbf;} +.chat__message-msg {background: #f5f5f5;border-radius: 4px;} +.fc-antd a {color: inherit;} +.fc-antd th, .fc-antd td, .fc-antd .fc-scrollgrid {border: 1px solid #f0f0f0;} +.fc-antd .fc-col-header-cell {color: rgba(0, 0, 0, 0.85);} +.fc-antd .fc-day.fc-day-today {background: rgba(232, 232, 232, 0.2);} +.fc-antd .fc-event {background: #fff;border: 1px solid #f0f0f0;box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.055);} +.fc-antd .fc-event-title-container::before {background: rgba(0, 0, 0, 0.2);border-radius: 50%;} +.fc-antd .fc-event-title {color: rgba(0, 0, 0, 0.85);} +.fc-antd .fc-event-primary .fc-event-title-container::before {background-color: #1890ff;} +.fc-antd .fc-event-fill-primary {background-color: #1890ff;} +.fc-antd .fc-event-success .fc-event-title-container::before {background-color: #52c41a;} +.fc-antd .fc-event-fill-success {background-color: #52c41a;} +.fc-antd .fc-event-danger .fc-event-title-container::before {background-color: #f5222d;} +.fc-antd .fc-event-fill-danger {background-color: #f5222d;} +.fc-antd .fc-event-warning .fc-event-title-container::before {background-color: #fadb14;} +.fc-antd .fc-event-fill-warning {background-color: #fadb14;} +.fc-antd .fc-event-purple .fc-event-title-container::before {background-color: #722ed1;} +.fc-antd .fc-event-fill-purple {background-color: #722ed1;} +.fc-antd .fc-event-magenta .fc-event-title-container::before {background-color: #eb2f96;} +.fc-antd .fc-event-fill-magenta {background-color: #eb2f96;} +.fc-antd .fc-popover-header {background: #eee;} +.fc-antd .fc-popover-body {background: #fff;} +.pro-passport__langs .anticon {color: #fff !important;} +.pro-passport__bg {background-color: transparent;background-position: center center;background-size: cover;} +.pro-passport__bg-overlay {background: #000;} +.pro-passport__form-title {color: #bfbfbf;} +.quick-chat {background-color: #fff;border: 1px solid #f0f0f0;border-bottom: none;border-radius: 4px 4px 0 0;box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14);} +.quick-chat__bar {border-bottom: 1px solid #f0f0f0;} +.quick-chat__bar--title:hover {background-color: #ffffff;} +.quick-chat__reply {border-top: 1px solid #f0f0f0;} +.quick-chat__reply--ipt {background: transparent;border: none;} +.app-dd__op-btn {color: #fff;background: rgba(0, 0, 0, 0.4);border-radius: 0 0 4px 4px;} +.app-dd__op-btn:hover {background: rgba(0, 0, 0, 0.3);} +.app-dd__item-btn {background: rgba(0, 0, 0, 0.02);} +.app-dd__item-design .app-dd__item-handle {background: rgba(0, 0, 0, 0.1);} +.app-dd__item.cdk-drag-preview {border-radius: 4px;box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);} diff --git a/src/assets/logo-color.svg b/src/assets/logo-color.svg new file mode 100644 index 00000000..8944a812 --- /dev/null +++ b/src/assets/logo-color.svg @@ -0,0 +1,25 @@ + + + +]> + + + + + + + diff --git a/src/assets/logo-full.svg b/src/assets/logo-full.svg new file mode 100644 index 00000000..c7d83185 --- /dev/null +++ b/src/assets/logo-full.svg @@ -0,0 +1,47 @@ + + + +]> + + + + + + + + + + + diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 00000000..28fa8f6f --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1,25 @@ + + + +]> + + + + + + + diff --git a/src/assets/mocks/app-data.json b/src/assets/mocks/app-data.json new file mode 100644 index 00000000..110f30c5 --- /dev/null +++ b/src/assets/mocks/app-data.json @@ -0,0 +1,6 @@ +{ + "app": { + "name": "SaaS管理后台", + "description": "新供应链 - SaaS管理后台" + } +} diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json new file mode 100644 index 00000000..dad1d744 --- /dev/null +++ b/src/assets/mocks/menu-data.json @@ -0,0 +1,22 @@ +{ + "menu": [ + { + "text": "主导航", + "group": true, + "hideInBreadcrumb": true, + "children": [ + { + "text": "DEMO页面", + "icon": "anticon anticon-dashboard", + "link": "/dashboard" + }, + { + "text": "快捷菜单", + "icon": "anticon anticon-rocket", + "shortcutRoot": true, + "children": [] + } + ] + } + ] +} diff --git a/src/assets/mocks/user-data.json b/src/assets/mocks/user-data.json new file mode 100644 index 00000000..7d544ed1 --- /dev/null +++ b/src/assets/mocks/user-data.json @@ -0,0 +1,7 @@ +{ + "user": { + "name": "Admin", + "avatar": "./assets/tmp/img/avatar.jpg", + "email": "cipchk@qq.com" + } +} diff --git a/src/assets/style.compact.css b/src/assets/style.compact.css new file mode 100644 index 00000000..d8c35d3e --- /dev/null +++ b/src/assets/style.compact.css @@ -0,0 +1 @@ +.cdk-overlay-container,body,html{height:100%;width:100%}.ant-alert,body,h1,h2,h3,h4,h5,h6{color:rgba(0,0,0,.85)}a,a:active,a:focus,a:hover{outline:0;text-decoration:none}dl,h1,h2,h3,h4,h5,h6,ol,p,pre,ul{margin-top:0}address,dl,ol,p,pre,ul{margin-bottom:1em}.ant-avatar,img{vertical-align:middle}.ant-btn,[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}.ant-picker-content,table{border-collapse:collapse}pre,textarea{overflow:auto}dd,h1,h2,h3,h4,h5,h6,legend{margin-bottom:.5em}.ant-badge-status,progress,sub,sup{vertical-align:baseline}[ant-click-animating-without-extra-node=true],[ant-click-animating=true],sub,sup{position:relative}.ant-carousel .slick-slider,.cdk-overlay-backdrop,html{-webkit-tap-highlight-color:transparent}.ant-btn:empty,.ant-carousel .slick-list .slick-slide input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide input.ant-radio-input{visibility:hidden}[class*=ant-] input::-ms-clear,[class*=ant-] input::-ms-reveal,[class*=ant-]::-ms-clear,[class^=ant-] input::-ms-clear,[class^=ant-] input::-ms-reveal,[class^=ant-]::-ms-clear{display:none}input::-ms-clear,input::-ms-reveal{display:none}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;--antd-wave-shadow-color:#1890ff;--scroll-bar:0}.ant-pagination-item,body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}@-ms-viewport{width:device-width}body{margin:0;font-size:12px;font-variant:tabular-nums;line-height:1.66667;background-color:#fff;font-feature-settings:tnum}[tabindex='-1']:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{font-style:normal;line-height:inherit}.font-italic,dfn{font-style:italic}input[type=number],input[type=text],input[type=password],textarea{-webkit-appearance:none}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-left:0}blockquote,figure{margin:0 0 1em}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#1890ff;background-color:transparent;cursor:pointer;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#40a9ff}a:active{color:#096dd9}a[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,Courier,monospace}img{border-style:none}svg:not(:root){overflow:hidden}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(0,0,0,.45);text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;margin:0;padding:0}legend{display:block;width:100%;max-width:100%;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner,.ant-select-arrow,.ant-select-multiple .ant-select-selection-item-remove,.anticon{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.clearfix::after,.clearfix::before{display:table;content:''}mark{padding:.2em;background-color:#feffe6}::selection{color:#fff;background:#1890ff}.clearfix::after{clear:both}.anticon,.anticon svg{display:inline-block}.anticon{color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em}.anticon>*{line-height:1}.anticon::before{display:none}.anticon .anticon-icon{display:block}.anticon[tabindex]{cursor:pointer}.anticon-spin,.anticon-spin::before{display:inline-block;animation:loadingCircle 1s infinite linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-timing-function:linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-fade-appear.ant-fade-appear-active,.ant-fade-enter.ant-fade-enter-active{animation-name:antFadeIn;animation-play-state:running}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none}.ant-fade-appear,.ant-fade-enter{opacity:0}@keyframes antFadeIn{0%{opacity:0}100%{opacity:1}}@keyframes antFadeOut{0%{opacity:1}100%{opacity:0}}.ant-move-up-appear,.ant-move-up-enter,.ant-move-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-up-appear.ant-move-up-appear-active,.ant-move-up-enter.ant-move-up-enter-active{animation-name:antMoveUpIn;animation-play-state:running}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none}.ant-move-up-appear,.ant-move-up-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-up-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-down-appear,.ant-move-down-enter,.ant-move-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-down-appear.ant-move-down-appear-active,.ant-move-down-enter.ant-move-down-enter-active{animation-name:antMoveDownIn;animation-play-state:running}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none}.ant-move-down-appear,.ant-move-down-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-down-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-left-appear,.ant-move-left-enter,.ant-move-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-left-appear.ant-move-left-appear-active,.ant-move-left-enter.ant-move-left-enter-active{animation-name:antMoveLeftIn;animation-play-state:running}.ant-move-left-leave.ant-move-left-leave-active{animation-name:antMoveLeftOut;animation-play-state:running;pointer-events:none}.ant-move-left-appear,.ant-move-left-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-left-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-right-appear,.ant-move-right-enter,.ant-move-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-right-appear.ant-move-right-appear-active,.ant-move-right-enter.ant-move-right-enter-active{animation-name:antMoveRightIn;animation-play-state:running}.ant-move-right-leave.ant-move-right-leave-active{animation-name:antMoveRightOut;animation-play-state:running;pointer-events:none}.ant-move-right-appear,.ant-move-right-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-right-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@keyframes antMoveDownIn{0%{transform:translateY(100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveDownOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveLeftIn{0%{transform:translateX(-100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveLeftOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(-100%);transform-origin:0 0;opacity:0}}@keyframes antMoveRightIn{0%{transform:translateX(100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveRightOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveUpIn{0%{transform:translateY(-100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveUpOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(-100%);transform-origin:0 0;opacity:0}}@keyframes loadingCircle{100%{transform:rotate(360deg)}}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]::after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;box-shadow:0 0 0 0 #1890ff;box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation-fill-mode:forwards;content:'';pointer-events:none}@keyframes waveEffect{100%{box-shadow:0 0 0 #1890ff;box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes fadeEffect{100%{opacity:0}}.ant-slide-up-appear,.ant-slide-up-enter,.ant-slide-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-up-appear.ant-slide-up-appear-active,.ant-slide-up-enter.ant-slide-up-enter-active{animation-name:antSlideUpIn;animation-play-state:running}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none}.ant-slide-up-appear,.ant-slide-up-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-up-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-down-appear,.ant-slide-down-enter,.ant-slide-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-down-appear.ant-slide-down-appear-active,.ant-slide-down-enter.ant-slide-down-enter-active{animation-name:antSlideDownIn;animation-play-state:running}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none}.ant-slide-down-appear,.ant-slide-down-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-left-appear,.ant-slide-left-enter,.ant-slide-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-left-appear.ant-slide-left-appear-active,.ant-slide-left-enter.ant-slide-left-enter-active{animation-name:antSlideLeftIn;animation-play-state:running}.ant-slide-left-leave.ant-slide-left-leave-active{animation-name:antSlideLeftOut;animation-play-state:running;pointer-events:none}.ant-slide-left-appear,.ant-slide-left-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-left-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-right-appear,.ant-slide-right-enter,.ant-slide-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-right-appear.ant-slide-right-appear-active,.ant-slide-right-enter.ant-slide-right-enter-active{animation-name:antSlideRightIn;animation-play-state:running}.ant-slide-right-leave.ant-slide-right-leave-active{animation-name:antSlideRightOut;animation-play-state:running;pointer-events:none}.ant-slide-right-appear,.ant-slide-right-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-right-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes antSlideUpIn{0%{transform:scaleY(.8);transform-origin:0 0;opacity:0}100%{transform:scaleY(1);transform-origin:0 0;opacity:1}}@keyframes antSlideUpOut{0%{transform:scaleY(1);transform-origin:0 0;opacity:1}100%{transform:scaleY(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideDownIn{0%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}100%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}100%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}}@keyframes antSlideLeftIn{0%{transform:scaleX(.8);transform-origin:0 0;opacity:0}100%{transform:scaleX(1);transform-origin:0 0;opacity:1}}@keyframes antSlideLeftOut{0%{transform:scaleX(1);transform-origin:0 0;opacity:1}100%{transform:scaleX(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideRightIn{0%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}100%{transform:scaleX(1);transform-origin:100% 0;opacity:1}}@keyframes antSlideRightOut{0%{transform:scaleX(1);transform-origin:100% 0;opacity:1}100%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}}.ant-zoom-appear,.ant-zoom-enter,.ant-zoom-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-appear.ant-zoom-appear-active,.ant-zoom-enter.ant-zoom-enter-active{animation-name:antZoomIn;animation-play-state:running}.ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none}.ant-zoom-appear,.ant-zoom-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-appear-prepare,.ant-zoom-enter-prepare{transform:none}.ant-zoom-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-appear,.ant-zoom-big-enter,.ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-appear.ant-zoom-big-appear-active,.ant-zoom-big-enter.ant-zoom-big-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-appear,.ant-zoom-big-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-appear-prepare,.ant-zoom-big-enter-prepare{transform:none}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter,.ant-zoom-big-fast-leave{animation-duration:.1s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active,.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-fast-appear-prepare,.ant-zoom-big-fast-enter-prepare{transform:none}.ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-up-appear,.ant-zoom-up-enter,.ant-zoom-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-up-appear.ant-zoom-up-appear-active,.ant-zoom-up-enter.ant-zoom-up-enter-active{animation-name:antZoomUpIn;animation-play-state:running}.ant-zoom-up-leave.ant-zoom-up-leave-active{animation-name:antZoomUpOut;animation-play-state:running;pointer-events:none}.ant-zoom-up-appear,.ant-zoom-up-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-up-appear-prepare,.ant-zoom-up-enter-prepare{transform:none}.ant-zoom-up-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-down-appear,.ant-zoom-down-enter,.ant-zoom-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-down-appear.ant-zoom-down-appear-active,.ant-zoom-down-enter.ant-zoom-down-enter-active{animation-name:antZoomDownIn;animation-play-state:running}.ant-zoom-down-leave.ant-zoom-down-leave-active{animation-name:antZoomDownOut;animation-play-state:running;pointer-events:none}.ant-zoom-down-appear,.ant-zoom-down-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-down-appear-prepare,.ant-zoom-down-enter-prepare{transform:none}.ant-zoom-down-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-left-appear,.ant-zoom-left-enter,.ant-zoom-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-left-appear.ant-zoom-left-appear-active,.ant-zoom-left-enter.ant-zoom-left-enter-active{animation-name:antZoomLeftIn;animation-play-state:running}.ant-zoom-left-leave.ant-zoom-left-leave-active{animation-name:antZoomLeftOut;animation-play-state:running;pointer-events:none}.ant-zoom-left-appear,.ant-zoom-left-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-left-appear-prepare,.ant-zoom-left-enter-prepare{transform:none}.ant-zoom-left-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-right-appear,.ant-zoom-right-enter,.ant-zoom-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-right-appear.ant-zoom-right-appear-active,.ant-zoom-right-enter.ant-zoom-right-enter-active{animation-name:antZoomRightIn;animation-play-state:running}.ant-zoom-right-leave.ant-zoom-right-leave-active{animation-name:antZoomRightOut;animation-play-state:running;pointer-events:none}.ant-zoom-right-appear,.ant-zoom-right-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-right-appear-prepare,.ant-zoom-right-enter-prepare{transform:none}.ant-zoom-right-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@keyframes antZoomIn{0%{transform:scale(.2);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomOut{0%{transform:scale(1)}100%{transform:scale(.2);opacity:0}}@keyframes antZoomBigIn{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomBigOut{0%{transform:scale(1)}100%{transform:scale(.8);opacity:0}}@keyframes antZoomUpIn{0%{transform:scale(.8);transform-origin:50% 0;opacity:0}100%{transform:scale(1);transform-origin:50% 0}}@keyframes antZoomUpOut{0%{transform:scale(1);transform-origin:50% 0}100%{transform:scale(.8);transform-origin:50% 0;opacity:0}}@keyframes antZoomLeftIn{0%{transform:scale(.8);transform-origin:0 50%;opacity:0}100%{transform:scale(1);transform-origin:0 50%}}@keyframes antZoomLeftOut{0%{transform:scale(1);transform-origin:0 50%}100%{transform:scale(.8);transform-origin:0 50%;opacity:0}}@keyframes antZoomRightIn{0%{transform:scale(.8);transform-origin:100% 50%;opacity:0}100%{transform:scale(1);transform-origin:100% 50%}}@keyframes antZoomRightOut{0%{transform:scale(1);transform-origin:100% 50%}100%{transform:scale(.8);transform-origin:100% 50%;opacity:0}}@keyframes antZoomDownIn{0%{transform:scale(.8);transform-origin:50% 100%;opacity:0}100%{transform:scale(1);transform-origin:50% 100%}}@keyframes antZoomDownOut{0%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(.8);transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse-legacy-active{transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden;transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.cdk-overlay-container{pointer-events:none;top:0;left:0;position:fixed;z-index:1000}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-backdrop{top:0;bottom:0;left:0;right:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0;position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-backdrop.ant-modal-mask{opacity:1}.cdk-overlay-pane{position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-global-scrollblock body{overflow-x:visible}.nz-overlay-transparent-backdrop,.nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.nz-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask,.nz-animate-disabled.ant-scroll-number-only{animation:none;transition:none}.nz-animate-disabled.ant-drawer>*{transition:none}.nz-animate-disabled .ant-modal,.nz-animate-disabled .ant-modal-mask,.nz-animate-disabled .ant-modal-mask.zoom-enter,.nz-animate-disabled .ant-modal-mask.zoom-enter-active,.nz-animate-disabled .ant-modal-mask.zoom-leave,.nz-animate-disabled .ant-modal-mask.zoom-leave-active,.nz-animate-disabled .ant-modal.zoom-enter,.nz-animate-disabled .ant-modal.zoom-enter-active,.nz-animate-disabled .ant-modal.zoom-leave,.nz-animate-disabled .ant-modal.zoom-leave-active{animation:none;transition:none}.nz-animate-disabled.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.nz-animate-disabled.ant-menu,.nz-animate-disabled.ant-menu .ant-menu-item,.nz-animate-disabled.ant-menu .ant-menu-item .anticon,.nz-animate-disabled.ant-menu .ant-menu-item .anticon+span,.nz-animate-disabled.ant-menu .ant-menu-submenu-title,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon+span,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-top-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated{transition:none}.ant-affix{position:fixed;z-index:10}.ant-alert,.ant-anchor{position:relative;list-style:none}nz-affix{display:block}.ant-alert{box-sizing:border-box;margin:0;font-size:12px;font-variant:tabular-nums;line-height:1.66667;font-feature-settings:tnum;display:flex;align-items:center;padding:8px 15px;word-wrap:break-word;border-radius:2px}.ant-alert-content{flex:1;min-width:0}.ant-alert-icon{margin-right:4px}.ant-alert-description{display:none;font-size:12px;line-height:20px}.ant-alert-success{background-color:#f6ffed;border:1px solid #b7eb8f}.ant-alert-success .ant-alert-icon{color:#52c41a}.ant-alert-info{background-color:#e6f7ff;border:1px solid #91d5ff}.ant-alert-info .ant-alert-icon{color:#1890ff}.ant-alert-warning{background-color:#fffbe6;border:1px solid #ffe58f}.ant-alert-warning .ant-alert-icon{color:#faad14}.ant-alert-error{background-color:#fff2f0;border:1px solid #ffccc7}.ant-alert-error .ant-alert-icon{color:#ff4d4f}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0}.ant-alert-action{margin-left:4px}.ant-alert-close-icon{margin-left:4px;padding:0;overflow:hidden;font-size:12px;line-height:12px;background-color:transparent;border:none;outline:0;cursor:pointer}.ant-alert-close-icon .anticon-close{color:rgba(0,0,0,.45);transition:color .3s}.ant-alert-close-icon .anticon-close:hover{color:rgba(0,0,0,.75)}.ant-alert-close-text{color:rgba(0,0,0,.45);transition:color .3s}.ant-alert-close-text:hover{color:rgba(0,0,0,.75)}.ant-alert-with-description{align-items:flex-start;padding:11px 15px 7px 20px}.ant-alert-with-description.ant-alert-no-icon{padding:7px 15px}.ant-alert-with-description .ant-alert-icon{margin-right:11px;font-size:20px}.ant-alert-with-description .ant-alert-message{display:block;margin-bottom:4px;color:rgba(0,0,0,.85);font-size:14px}.ant-anchor,.ant-avatar{font-size:12px;font-variant:tabular-nums;font-feature-settings:tnum;box-sizing:border-box}.ant-alert-message{color:rgba(0,0,0,.85)}.ant-alert-with-description .ant-alert-description{display:block}.ant-alert.ant-alert-motion-leave{overflow:hidden;opacity:1;transition:max-height .3s cubic-bezier(.78,.14,.15,.86),opacity .3s cubic-bezier(.78,.14,.15,.86),padding-top .3s cubic-bezier(.78,.14,.15,.86),padding-bottom .3s cubic-bezier(.78,.14,.15,.86),margin-bottom .3s cubic-bezier(.78,.14,.15,.86)}.ant-alert.ant-alert-motion-leave-active{max-height:0;margin-bottom:0!important;padding-top:0;padding-bottom:0;opacity:0}.ant-alert-banner{margin-bottom:0;border:0;border-radius:0}.ant-alert.ant-alert-rtl{direction:rtl}.ant-alert-rtl.ant-alert.ant-alert-no-icon{padding:4px 15px}.ant-alert-rtl .ant-alert-icon{margin-right:auto;margin-left:4px}.ant-alert-rtl .ant-alert-action,.ant-alert-rtl .ant-alert-close-icon{margin-right:4px;margin-left:auto}.ant-alert-rtl.ant-alert-with-description .ant-alert-icon{margin-right:auto;margin-left:11px}nz-alert{display:block}.ant-anchor{margin:0;padding:0 0 0 2px;color:rgba(0,0,0,.85);line-height:1.66667}.ant-anchor-wrapper{margin-left:-4px;padding-left:4px;overflow:auto;background-color:transparent}.ant-anchor-ink{position:absolute;top:0;left:0;height:100%}.ant-anchor-ink::before{position:relative;display:block;width:2px;height:100%;margin:0 auto;background-color:#f0f0f0;content:' '}.ant-anchor-ink-ball{position:absolute;left:50%;display:none;width:8px;height:8px;background-color:#fff;border:2px solid #1890ff;border-radius:8px;transform:translateX(-50%);transition:top .3s ease-in-out}.ant-anchor-ink-ball.visible{display:inline-block}.ant-anchor.fixed .ant-anchor-ink .ant-anchor-ink-ball{display:none}.ant-anchor-link{padding:4px 0 4px 16px;line-height:1.143}.ant-anchor-link-title{position:relative;display:block;margin-bottom:6px;overflow:hidden;color:rgba(0,0,0,.85);white-space:nowrap;text-overflow:ellipsis;transition:all .3s}.ant-anchor-link-title:only-child{margin-bottom:0}.ant-anchor-link-active>.ant-anchor-link-title{color:#1890ff}.ant-anchor-link .ant-anchor-link{padding-top:5px;padding-bottom:5px}.ant-anchor-rtl{direction:rtl}.ant-anchor-rtl.ant-anchor-wrapper{margin-right:-4px;margin-left:0;padding-right:4px;padding-left:0}.ant-avatar,.ant-avatar-lg.ant-avatar-icon>.anticon,.ant-avatar-sm.ant-avatar-icon>.anticon,.ant-avatar.ant-avatar-icon>.anticon{margin:0}.ant-anchor-rtl .ant-anchor-ink{right:0;left:auto}.ant-anchor-rtl .ant-anchor-ink-ball{right:50%;left:0;transform:translateX(50%)}.ant-anchor-rtl .ant-anchor-link{padding:4px 16px 4px 0}nz-link{display:block}.ant-avatar{padding:0;list-style:none;position:relative;display:inline-block;overflow:hidden;color:#fff;white-space:nowrap;text-align:center;background:#ccc;width:28px;height:28px;line-height:28px;border-radius:50%}.ant-avatar-lg-string,.ant-avatar-sm-string,.ant-avatar-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar-image{background:0 0}.ant-avatar .ant-image-img{display:block}.ant-avatar.ant-avatar-icon{font-size:16px}.ant-avatar-lg.ant-avatar-icon,.ant-spin-dot{font-size:20px}.ant-avatar-lg{width:32px;height:32px;line-height:32px;border-radius:50%}.ant-avatar-sm.ant-avatar-icon,.ant-back-top{font-size:12px}.ant-avatar-sm{width:22px;height:22px;line-height:22px;border-radius:50%}.ant-avatar-square{border-radius:2px}.ant-avatar>img{display:block;width:100%;height:100%;object-fit:cover}.ant-avatar-group,.ant-btn-group{display:inline-flex}.ant-avatar-group .ant-avatar{border:1px solid #fff}.ant-avatar-group .ant-avatar:not(:first-child){margin-left:-8px}.ant-avatar-group-popover .ant-avatar+.ant-avatar{margin-left:3px}.ant-avatar-group-rtl .ant-avatar:not(:first-child){margin-right:-8px;margin-left:0}.ant-avatar-group-popover.ant-popover-rtl .ant-avatar+.ant-avatar{margin-right:3px;margin-left:0}.ant-back-top,.ant-badge{margin:0;padding:0;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-back-top{box-sizing:border-box;color:rgba(0,0,0,.85);line-height:1.66667;position:fixed;right:100px;bottom:50px;z-index:10;width:40px;height:40px;cursor:pointer}.ant-back-top:empty{display:none}.ant-back-top-rtl{right:auto;left:100px;direction:rtl}.ant-back-top-content{width:40px;height:40px;overflow:hidden;color:#fff;text-align:center;background-color:rgba(0,0,0,.45);border-radius:20px;transition:all .3s}.ant-back-top-content:hover{background-color:rgba(0,0,0,.85);transition:all .3s}.ant-badge-count,.ant-badge-dot{background:#ff4d4f;box-shadow:0 0 0 1px #fff}.ant-back-top-icon{font-size:24px;line-height:40px}@media screen and (max-width:768px){.ant-back-top{right:60px}}@media screen and (max-width:480px){.ant-back-top{right:20px}}.ant-badge{box-sizing:border-box;color:rgba(0,0,0,.85);font-size:12px;position:relative;display:inline-block;line-height:1}.ant-badge-count{z-index:auto;min-width:18px;height:18px;padding:0 6px;color:#fff;font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;text-align:center;border-radius:9px}.ant-badge-count a,.ant-badge-count a:hover{color:#fff}.ant-badge-count-sm{min-width:14px;height:14px;padding:0;font-size:12px;line-height:14px;border-radius:7px}.ant-badge-multiple-words,.ant-ribbon{padding:0 8px}.ant-badge-dot,.ant-spin-dot-item,.g2-card__avatar img{border-radius:100%}.ant-badge-dot{z-index:auto;width:6px;min-width:6px;height:6px}.ant-badge .ant-scroll-number-custom-component,.ant-badge-count,.ant-badge-dot{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0}.ant-badge .ant-scroll-number-custom-component.anticon-spin,.ant-badge-count.anticon-spin,.ant-badge-dot.anticon-spin{animation:antBadgeLoadingCircle 1s infinite linear}.ant-badge-status{line-height:inherit}.ant-badge-not-a-wrapper:not(.ant-badge-status),.ant-badge-status-dot{vertical-align:middle}.ant-badge-status-dot{position:relative;top:-1px;display:inline-block;width:6px;height:6px;border-radius:50%}.ant-badge-status-success{background-color:#52c41a}.ant-badge-status-processing{position:relative;background-color:#1890ff}.ant-badge-status-processing::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:50%;animation:antStatusProcessing 1.2s infinite ease-in-out;content:''}.ant-badge-status-default{background-color:#d9d9d9}.ant-badge-status-error{background-color:#ff4d4f}.ant-badge-status-warning{background-color:#faad14}.ant-badge-status-magenta,.ant-badge-status-pink{background:#eb2f96}.ant-badge-status-red{background:#f5222d}.ant-badge-status-volcano{background:#fa541c}.ant-badge-status-orange{background:#fa8c16}.ant-badge-status-yellow{background:#fadb14}.ant-badge-status-gold{background:#faad14}.ant-badge-status-cyan{background:#13c2c2}.ant-badge-status-lime{background:#a0d911}.ant-badge-status-green{background:#52c41a}.ant-badge-status-blue{background:#1890ff}.ant-badge-status-geekblue{background:#2f54eb}.ant-badge-status-purple{background:#722ed1}.ant-badge-status-text{margin-left:8px;color:rgba(0,0,0,.85);font-size:12px}.ant-badge-zoom-appear,.ant-badge-zoom-enter{animation:antZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46);animation-fill-mode:both}.ant-badge-zoom-leave{animation:antZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6);animation-fill-mode:both}.ant-badge-not-a-wrapper .ant-badge-zoom-appear,.ant-badge-not-a-wrapper .ant-badge-zoom-enter{animation:antNoWrapperZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46)}.ant-badge-not-a-wrapper .ant-badge-zoom-leave{animation:antNoWrapperZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6)}.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{transform:none}.ant-badge-not-a-wrapper .ant-scroll-number,.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{position:relative;top:auto;display:block;transform-origin:50% 50%}@keyframes antStatusProcessing{0%{transform:scale(.8);opacity:.5}100%{transform:scale(2.4);opacity:0}}.ant-scroll-number-only,.ant-scroll-number-only>p.ant-scroll-number-only-unit{-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;height:18px}.ant-scroll-number{overflow:hidden}.ant-scroll-number-only{position:relative;display:inline-block;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-scroll-number-only>p.ant-scroll-number-only-unit{margin:0}.ant-scroll-number-symbol{vertical-align:top}@keyframes antZoomBadgeIn{0%{transform:scale(0) translate(50%,-50%);opacity:0}100%{transform:scale(1) translate(50%,-50%)}}@keyframes antZoomBadgeOut{0%{transform:scale(1) translate(50%,-50%)}100%{transform:scale(0) translate(50%,-50%);opacity:0}}@keyframes antNoWrapperZoomBadgeIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1)}}@keyframes antNoWrapperZoomBadgeOut{0%{transform:scale(1)}100%{transform:scale(0);opacity:0}}@keyframes antBadgeLoadingCircle{0%{transform-origin:50%}100%{transform:translate(50%,-50%) rotate(360deg);transform-origin:50%}}.ant-ribbon-wrapper{position:relative}.ant-ribbon{box-sizing:border-box;margin:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:absolute;top:8px;height:22px;color:#fff;line-height:22px;white-space:nowrap;background-color:#1890ff;border-radius:2px}.ant-breadcrumb,.ant-btn{line-height:1.66667;font-size:12px}.ant-ribbon-text{color:#fff}.ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentColor;border:4px solid;transform:scaleY(.75);transform-origin:top}.ant-ribbon-corner::after{position:absolute;top:-4px;left:-4px;width:inherit;height:inherit;color:rgba(0,0,0,.25);border:inherit;content:''}.ant-ribbon-color-magenta,.ant-ribbon-color-pink{color:#eb2f96;background:#eb2f96}.ant-ribbon-color-red{color:#f5222d;background:#f5222d}.ant-ribbon-color-volcano{color:#fa541c;background:#fa541c}.ant-ribbon-color-orange{color:#fa8c16;background:#fa8c16}.ant-ribbon-color-yellow{color:#fadb14;background:#fadb14}.ant-ribbon-color-gold{color:#faad14;background:#faad14}.ant-ribbon-color-cyan{color:#13c2c2;background:#13c2c2}.ant-ribbon-color-lime{color:#a0d911;background:#a0d911}.ant-ribbon-color-green{color:#52c41a;background:#52c41a}.ant-ribbon-color-blue{color:#1890ff;background:#1890ff}.ant-ribbon-color-geekblue{color:#2f54eb;background:#2f54eb}.ant-ribbon-color-purple{color:#722ed1;background:#722ed1}.ant-ribbon.ant-ribbon-placement-end{right:-8px;border-bottom-right-radius:0}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{right:0;border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after,.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{border-color:currentColor currentColor transparent transparent}.ant-ribbon.ant-ribbon-placement-start{left:-8px;border-bottom-left-radius:0}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{left:0}.ant-badge-rtl{direction:rtl}.ant-badge-rtl .ant-badge .ant-scroll-number-custom-component,.ant-badge-rtl .ant-badge-count,.ant-badge-rtl .ant-badge-dot{right:auto;left:0;direction:ltr;transform:translate(-50%,-50%);transform-origin:0 0}.ant-breadcrumb-rtl,.ant-btn-group.ant-btn-group-rtl,.ant-btn-rtl,.ant-card-rtl,.ant-carousel-rtl,.ant-checkbox-rtl,.ant-collapse-rtl,.ant-comment-rtl,.ant-picker-dropdown-rtl .ant-picker-footer-extra,.ant-picker-input>input-rtl,.ant-picker-panel-rtl,.ant-picker-rtl,.ant-ribbon-rtl{direction:rtl}.ant-badge-rtl.ant-badge .ant-scroll-number-custom-component{right:auto;left:0;transform:translate(-50%,-50%);transform-origin:0 0}.ant-badge-rtl .ant-badge-status-text{margin-right:8px;margin-left:0}.ant-badge-rtl .ant-badge-zoom-appear,.ant-badge-rtl .ant-badge-zoom-enter{animation-name:antZoomBadgeInRtl}.ant-badge-rtl .ant-badge-zoom-leave{animation-name:antZoomBadgeOutRtl}.ant-badge-not-a-wrapper .ant-badge-count{transform:none}.ant-ribbon-rtl.ant-ribbon-placement-end{right:unset;left:-8px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner{right:unset;left:0}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after{border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-start{right:-8px;left:unset;border-bottom-right-radius:0;border-bottom-left-radius:2px}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner{right:0;left:unset}@keyframes antZoomBadgeInRtl{0%{transform:scale(0) translate(-50%,-50%);opacity:0}100%{transform:scale(1) translate(-50%,-50%)}}@keyframes antZoomBadgeOutRtl{0%{transform:scale(1) translate(-50%,-50%)}100%{transform:scale(0) translate(-50%,-50%);opacity:0}}.ant-badge .ant-scroll-number:only-child{position:relative;top:auto;display:block}.ant-badge .ant-badge-count:only-child{transform:none}nz-ribbon{display:block}.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(0,0,0,.45)}.ant-breadcrumb .anticon{font-size:12px}.ant-breadcrumb a{color:rgba(0,0,0,.45);transition:color .3s}.ant-breadcrumb a:hover{color:#40a9ff}.ant-breadcrumb>span:last-child,.ant-breadcrumb>span:last-child a{color:rgba(0,0,0,.85)}.ant-breadcrumb>span:last-child .ant-breadcrumb-separator{display:none}.ant-breadcrumb-rtl::after,.ant-breadcrumb-rtl::before{display:table;content:''}.ant-breadcrumb-separator{margin:0 4px;color:rgba(0,0,0,.45)}.ant-breadcrumb>nz-breadcrumb-item:last-child,.ant-breadcrumb>nz-breadcrumb-item:last-child a,.ant-btn{color:rgba(0,0,0,.85)}.ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-overlay-link>.anticon{margin-left:4px}.ant-breadcrumb-rtl::after{clear:both}.ant-breadcrumb-rtl>span{float:right}.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link>.anticon{margin-right:4px;margin-left:0}.ant-breadcrumb-link .anticon+span{margin-left:4px}.ant-breadcrumb-rtl>nz-breadcrumb-item{float:right}nz-breadcrumb{display:block}nz-breadcrumb-item:last-child .ant-breadcrumb-separator{display:none}.ant-btn,.ant-btn>span{display:inline-block}.ant-btn{position:relative;font-weight:400;white-space:nowrap;text-align:center;border:1px solid #d9d9d9;box-shadow:0 2px 0 rgba(0,0,0,.015);cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1);user-select:none;height:28px;padding:3px 11px;border-radius:2px;background:#fff}.ant-btn:active>a:only-child::after,.ant-btn:focus>a:only-child::after,.ant-btn:hover>a:only-child::after,.ant-btn>a:only-child::after{background:0 0;top:0;right:0;bottom:0;left:0;position:absolute;content:''}.ant-btn>.anticon{line-height:1}.ant-btn,.ant-btn:active,.ant-btn:focus{outline:0}.ant-btn:not([disabled]):hover{text-decoration:none}.ant-btn:not([disabled]):active{outline:0;box-shadow:none}.ant-btn[disabled]{cursor:not-allowed}.ant-btn[disabled]>*{pointer-events:none}.ant-btn-lg{height:32px;padding:3.3px 11px;font-size:14px;border-radius:2px}.ant-btn-sm{height:22px;padding:0 7px;font-size:12px;border-radius:2px}.ant-btn>a:only-child{color:currentColor}.ant-btn:focus,.ant-btn:hover{color:#40a9ff;border-color:#40a9ff}.ant-btn:focus>a:only-child,.ant-btn:hover>a:only-child{color:currentColor}.ant-btn:active{color:#096dd9;border-color:#096dd9}.ant-btn:active>a:only-child{color:currentColor}.ant-btn[disabled],.ant-btn[disabled]:active,.ant-btn[disabled]:focus,.ant-btn[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn[disabled]:active>a:only-child,.ant-btn[disabled]:focus>a:only-child,.ant-btn[disabled]:hover>a:only-child,.ant-btn[disabled]>a:only-child{color:currentColor}.ant-btn[disabled]:active>a:only-child::after,.ant-btn[disabled]:focus>a:only-child::after,.ant-btn[disabled]:hover>a:only-child::after,.ant-btn[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:active,.ant-btn:focus,.ant-btn:hover{text-decoration:none;background:#fff}.ant-btn-primary{color:#fff;background:#1890ff;border-color:#1890ff;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:focus,.ant-btn-primary:hover{color:#fff;background:#40a9ff;border-color:#40a9ff}.ant-btn-primary:focus>a:only-child,.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-primary:focus>a:only-child::after,.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:active{color:#fff;background:#096dd9;border-color:#096dd9}.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary[disabled],.ant-btn-primary[disabled]:active,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child){border-right-color:#40a9ff;border-left-color:#40a9ff}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled{border-color:#d9d9d9}.ant-btn-group .ant-btn-primary:first-child:not(:last-child){border-right-color:#40a9ff}.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#d9d9d9}.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-left-color:#40a9ff}.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-left-color:#d9d9d9}.ant-btn-ghost{color:rgba(0,0,0,.85);background:0 0;border-color:#d9d9d9}.ant-btn-ghost>a:only-child{color:currentColor}.ant-btn-ghost>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:focus,.ant-btn-ghost:hover{color:#40a9ff;background:0 0;border-color:#40a9ff}.ant-btn-ghost:focus>a:only-child,.ant-btn-ghost:hover>a:only-child{color:currentColor}.ant-btn-ghost:focus>a:only-child::after,.ant-btn-ghost:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:active{color:#096dd9;background:0 0;border-color:#096dd9}.ant-btn-ghost:active>a:only-child{color:currentColor}.ant-btn-ghost:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost[disabled],.ant-btn-ghost[disabled]:active,.ant-btn-ghost[disabled]:focus,.ant-btn-ghost[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-ghost[disabled]:active>a:only-child,.ant-btn-ghost[disabled]:focus>a:only-child,.ant-btn-ghost[disabled]:hover>a:only-child,.ant-btn-ghost[disabled]>a:only-child{color:currentColor}.ant-btn-ghost[disabled]:active>a:only-child::after,.ant-btn-ghost[disabled]:focus>a:only-child::after,.ant-btn-ghost[disabled]:hover>a:only-child::after,.ant-btn-ghost[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed{color:rgba(0,0,0,.85);background:#fff;border-color:#d9d9d9;border-style:dashed}.ant-btn-dashed>a:only-child{color:currentColor}.ant-btn-dashed>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:focus,.ant-btn-dashed:hover{color:#40a9ff;background:#fff;border-color:#40a9ff}.ant-btn-dashed:focus>a:only-child,.ant-btn-dashed:hover>a:only-child{color:currentColor}.ant-btn-dashed:focus>a:only-child::after,.ant-btn-dashed:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:active{color:#096dd9;background:#fff;border-color:#096dd9}.ant-btn-dashed:active>a:only-child{color:currentColor}.ant-btn-dashed:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed[disabled],.ant-btn-dashed[disabled]:active,.ant-btn-dashed[disabled]:focus,.ant-btn-dashed[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-dashed[disabled]:active>a:only-child,.ant-btn-dashed[disabled]:focus>a:only-child,.ant-btn-dashed[disabled]:hover>a:only-child,.ant-btn-dashed[disabled]>a:only-child{color:currentColor}.ant-btn-dashed[disabled]:active>a:only-child::after,.ant-btn-dashed[disabled]:focus>a:only-child::after,.ant-btn-dashed[disabled]:hover>a:only-child::after,.ant-btn-dashed[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger{color:#fff;background:#ff4d4f;border-color:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:focus,.ant-btn-danger:hover{color:#fff;background:#ff7875;border-color:#ff7875}.ant-btn-danger:focus>a:only-child,.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-danger:focus>a:only-child::after,.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:active{color:#fff;background:#d9363e;border-color:#d9363e}.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger[disabled],.ant-btn-danger[disabled]:active,.ant-btn-danger[disabled]:focus,.ant-btn-danger[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link{color:#1890ff;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-link>a:only-child{color:currentColor}.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:focus,.ant-btn-link:hover{color:#40a9ff;background:0 0;border-color:#40a9ff}.ant-btn-link:focus>a:only-child,.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-link:focus>a:only-child::after,.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:active{color:#096dd9;background:0 0}.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:hover{background:0 0}.ant-btn-link:active,.ant-btn-link:focus,.ant-btn-link:hover{border-color:transparent}.ant-btn-link[disabled],.ant-btn-link[disabled]:active,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-link[disabled]:active>a:only-child,.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text{color:rgba(0,0,0,.85);background:0 0;border-color:transparent;box-shadow:none}.ant-btn-text>a:only-child{color:currentColor}.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:#40a9ff}.ant-btn-text:focus>a:only-child,.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-text:focus>a:only-child::after,.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:active{color:#096dd9}.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:rgba(0,0,0,.85);background:rgba(0,0,0,.018);border-color:transparent}.ant-btn-text:active{color:rgba(0,0,0,.85);background:rgba(0,0,0,.028);border-color:transparent}.ant-btn-text[disabled],.ant-btn-text[disabled]:active,.ant-btn-text[disabled]:focus,.ant-btn-text[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-text[disabled]:active>a:only-child,.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous{color:#ff4d4f;background:#fff;border-color:#ff4d4f}.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:focus,.ant-btn-dangerous:hover{color:#ff7875;background:#fff;border-color:#ff7875}.ant-btn-dangerous:focus>a:only-child,.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:active{color:#d9363e;background:#fff;border-color:#d9363e}.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous[disabled],.ant-btn-dangerous[disabled]:active,.ant-btn-dangerous[disabled]:focus,.ant-btn-dangerous[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary{color:#fff;background:#ff4d4f;border-color:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-dangerous.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:focus,.ant-btn-dangerous.ant-btn-primary:hover{color:#fff;background:#ff7875;border-color:#ff7875}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:active{color:#fff;background:#d9363e;border-color:#d9363e}.ant-btn-dangerous.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary[disabled],.ant-btn-dangerous.ant-btn-primary[disabled]:active,.ant-btn-dangerous.ant-btn-primary[disabled]:focus,.ant-btn-dangerous.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link{color:#ff4d4f;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-dangerous.ant-btn-link:hover{color:#ff7875;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:active{color:#d9363e;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text{color:#ff4d4f;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-text>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:focus,.ant-btn-dangerous.ant-btn-text:hover{color:#ff7875;background:rgba(0,0,0,.018);border-color:transparent}.ant-btn-dangerous.ant-btn-text:focus>a:only-child,.ant-btn-dangerous.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:active{color:#d9363e;background:rgba(0,0,0,.028);border-color:transparent}.ant-btn-dangerous.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text[disabled],.ant-btn-dangerous.ant-btn-text[disabled]:active,.ant-btn-dangerous.ant-btn-text[disabled]:focus,.ant-btn-dangerous.ant-btn-text[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-icon-only{width:28px;height:28px;padding:1.3px 0;font-size:14px;border-radius:2px;vertical-align:-1px}.ant-btn-icon-only>*{font-size:14px}.ant-btn-icon-only.ant-btn-lg{width:32px;height:32px;padding:1.7px 0;font-size:16px;border-radius:2px}.ant-btn-icon-only.ant-btn-lg>*{font-size:16px}.ant-btn-icon-only.ant-btn-sm{width:22px;height:22px;padding:0;font-size:12px;border-radius:2px}.ant-btn-icon-only.ant-btn-sm>*{font-size:12px}.ant-btn-round{height:28px;padding:3px 14px;font-size:12px;border-radius:28px}.ant-btn-round.ant-btn-lg{height:32px;padding:3.3px 16px;font-size:14px;border-radius:32px}.ant-btn-round.ant-btn-sm{height:22px;padding:0 11px;font-size:12px;border-radius:22px}.ant-btn-round.ant-btn-icon-only{width:auto}.ant-btn-circle{min-width:28px;padding-right:0;padding-left:0;text-align:center;border-radius:50%}.ant-btn-circle.ant-btn-lg{min-width:32px;border-radius:50%}.ant-btn-circle.ant-btn-sm{min-width:22px;border-radius:50%}.ant-btn::before{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;display:none;background:#fff;border-radius:inherit;opacity:.35;transition:opacity .2s;content:'';pointer-events:none}.ant-btn-group,.ant-btn-group>.ant-btn,.ant-btn-group>span>.ant-btn,.ant-btn.ant-btn-loading,.ant-btn:active>span,.ant-btn:focus>span{position:relative}.ant-btn .anticon{transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon.anticon-minus>svg,.ant-btn .anticon.anticon-plus>svg{shape-rendering:optimizeSpeed}.ant-btn.ant-btn-loading:not([disabled]){pointer-events:none}.ant-btn.ant-btn-loading::before{display:block}.ant-btn>.ant-btn-loading-icon{transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-btn>.ant-btn-loading-icon .anticon{padding-right:4px;animation:none}.ant-btn>.ant-btn-loading-icon .anticon svg{animation:loadingCircle 1s infinite linear}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-right:0}.ant-btn-group>.ant-btn:active,.ant-btn-group>.ant-btn:focus,.ant-btn-group>.ant-btn:hover,.ant-btn-group>span>.ant-btn:active,.ant-btn-group>span>.ant-btn:focus,.ant-btn-group>span>.ant-btn:hover{z-index:2}.ant-btn-group>.ant-btn[disabled],.ant-btn-group>span>.ant-btn[disabled]{z-index:0}.ant-btn-group .ant-btn-icon-only{font-size:12px}.ant-btn-group-lg>.ant-btn,.ant-btn-group-lg>span>.ant-btn{height:32px;padding:3.3px 11px;font-size:14px;border-radius:0}.ant-btn-group-lg .ant-btn.ant-btn-icon-only{width:32px;height:32px;padding-right:0;padding-left:0}.ant-btn-group-sm>.ant-btn,.ant-btn-group-sm>span>.ant-btn{height:22px;padding:0 7px;font-size:12px;border-radius:0}.ant-btn-group-sm>.ant-btn>.anticon,.ant-btn-group-sm>span>.ant-btn>.anticon{font-size:12px}.ant-btn-group-sm .ant-btn.ant-btn-icon-only{width:22px;height:22px;padding-right:0;padding-left:0}.ant-btn+.ant-btn-group,.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group .ant-btn+span,.ant-btn-group span+.ant-btn,.ant-btn-group+.ant-btn,.ant-btn-group+.ant-btn-group,.ant-btn-group>span+span{margin-left:-1px}.ant-btn-group .ant-btn-primary+.ant-btn:not(.ant-btn-primary):not([disabled]){border-left-color:transparent}.ant-btn-group .ant-btn{border-radius:0}.ant-btn-group-sm>.ant-btn:only-child,.ant-btn-group-sm>span:only-child>.ant-btn,.ant-btn-group>.ant-btn:only-child,.ant-btn-group>span:only-child>.ant-btn,.ant-card{border-radius:2px}.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn,.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn,.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-btn-group>.ant-btn:first-child,.ant-btn-group>span:first-child>.ant-btn{margin-left:0}.ant-btn-group>.ant-btn-group{float:left}.ant-btn-group>.ant-btn-group:not(:first-child):not(:last-child)>.ant-btn{border-radius:0}.ant-btn-group>.ant-btn-group:first-child:not(:last-child)>.ant-btn:last-child{padding-right:8px;border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-group>.ant-btn-group:last-child:not(:first-child)>.ant-btn:first-child{padding-left:8px;border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-group-rtl.ant-btn+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group-rtl.ant-btn-group .ant-btn+span,.ant-btn-group-rtl.ant-btn-group span+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group>span+span,.ant-btn-rtl.ant-btn+.ant-btn-group,.ant-btn-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-rtl.ant-btn-group .ant-btn+span,.ant-btn-rtl.ant-btn-group span+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn-group,.ant-btn-rtl.ant-btn-group>span+span{margin-right:-1px;margin-left:auto}.ant-btn-group-rtl.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-left:4px}.ant-btn-background-ghost{color:#fff;background:0 0!important;border-color:#fff}.ant-btn-background-ghost.ant-btn-primary{color:#1890ff;background:0 0;border-color:#1890ff;text-shadow:none}.ant-btn-background-ghost.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:focus,.ant-btn-background-ghost.ant-btn-primary:hover{color:#40a9ff;background:0 0;border-color:#40a9ff}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:active{color:#096dd9;background:0 0;border-color:#096dd9}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary[disabled],.ant-btn-background-ghost.ant-btn-primary[disabled]:active,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger{color:#ff4d4f;background:0 0;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:focus,.ant-btn-background-ghost.ant-btn-danger:hover{color:#ff7875;background:0 0;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:active{color:#d9363e;background:0 0;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger[disabled],.ant-btn-background-ghost.ant-btn-danger[disabled]:active,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous{color:#ff4d4f;background:0 0;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:focus,.ant-btn-background-ghost.ant-btn-dangerous:hover{color:#ff7875;background:0 0;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:active{color:#d9363e;background:0 0;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous[disabled],.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link{color:#ff4d4f;background:0 0;border-color:transparent;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover{color:#ff7875;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active{color:#d9363e;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-card,.ant-card-extra,.ant-card-head,.ant-card-head .ant-tabs{color:rgba(0,0,0,.85)}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-two-chinese-chars::first-letter{letter-spacing:.34em}.ant-btn-two-chinese-chars>:not(.anticon){margin-right:-.34em;letter-spacing:.34em}.ant-btn-block{width:100%}.ant-btn:empty{display:inline-block;width:0;content:'\a0'}.ant-card-head::after,.ant-card-head::before{display:table;content:''}a.ant-btn{padding-top:.01px!important;line-height:26px}a.ant-btn-lg{line-height:30px}a.ant-btn-sm{line-height:20px}.ant-card,.ant-card-actions>li>span{line-height:1.66667;position:relative}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-right-color:#40a9ff;border-left-color:#d9d9d9}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-right-color:#d9d9d9;border-left-color:#40a9ff}.ant-btn-rtl.ant-btn>.ant-btn-loading-icon .anticon{padding-right:0;padding-left:4px}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-left:0}.ant-btn-rtl.ant-btn>.anticon+span,.ant-btn-rtl.ant-btn>span+.anticon{margin-right:8px;margin-left:0}.ant-card{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;background:#fff}.ant-card-hoverable{cursor:pointer;transition:box-shadow .3s,border-color .3s}.ant-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ant-card-head,.ant-card-head .ant-tabs-bar{border-bottom:1px solid #f0f0f0}.ant-card-bordered{border:1px solid #f0f0f0}.ant-card-head{min-height:36px;margin-bottom:-1px;padding:0 12px;font-weight:500;font-size:12px;background:0 0;border-radius:2px 2px 0 0}.ant-card-head::after{clear:both}.ant-card-head-wrapper{display:flex;align-items:center}.ant-card-head-title{display:inline-block;flex:1;padding:8.5px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-card-body::after,.ant-card-body::before{display:table;content:''}.ant-card-head-title>.ant-typography,.ant-card-head-title>.ant-typography-edit-content{left:0;margin-top:0;margin-bottom:0}.ant-card-head .ant-tabs{clear:both;margin-bottom:-9px;font-weight:400;font-size:12px}.ant-card-extra{float:right;margin-left:auto;padding:8.5px 0;font-weight:400;font-size:12px}.ant-card-rtl .ant-card-extra{margin-right:auto;margin-left:0}.ant-card-body{padding:12px}.ant-card-body::after{clear:both}.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body{margin:-1px 0 0 -1px;padding:0}.ant-card-grid{float:left;width:33.33%;padding:12px;border:0;border-radius:0;box-shadow:1px 0 0 0 #f0f0f0,0 1px 0 0 #f0f0f0,1px 1px 0 0 #f0f0f0,1px 0 0 0 #f0f0f0 inset,0 1px 0 0 #f0f0f0 inset;transition:all .3s}.ant-card-rtl .ant-card-grid{float:right}.ant-card-grid-hoverable:hover{position:relative;z-index:1;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ant-card-contain-tabs>.ant-card-head .ant-card-head-title{min-height:27.5px;padding-bottom:0}.ant-card-contain-tabs>.ant-card-head .ant-card-extra{padding-bottom:0}.ant-card-bordered .ant-card-cover{margin-top:-1px;margin-right:-1px;margin-left:-1px}.ant-card-cover>*{display:block;width:100%}.ant-card-actions::after,.ant-card-actions::before{display:table;content:''}.ant-card-cover img{border-radius:2px 2px 0 0}.ant-card-actions{margin:0;padding:0;list-style:none;background:#fff;border-top:1px solid #f0f0f0}.ant-card-actions::after{clear:both}.ant-card-actions>li{float:left;margin:4px 0;color:rgba(0,0,0,.45);text-align:center}.ant-card-rtl .ant-card-actions>li{float:right}.ant-card-actions>li>span{display:block;min-width:32px;font-size:12px;cursor:pointer}.ant-card-actions>li>span:hover{color:#1890ff;transition:color .3s}.ant-card-actions>li>span a:not(.ant-btn),.ant-card-actions>li>span>.anticon{display:inline-block;width:100%;color:rgba(0,0,0,.45);line-height:22px;transition:color .3s}.ant-card-meta::after,.ant-card-meta::before{display:table;content:''}.ant-card-actions>li>span a:not(.ant-btn):hover,.ant-card-actions>li>span>.anticon:hover{color:#1890ff}.ant-card-actions>li>span>.anticon{font-size:16px;line-height:22px}.ant-card-actions>li:not(:last-child){border-right:1px solid #f0f0f0}.ant-card-rtl .ant-card-actions>li:not(:last-child){border-right:none;border-left:1px solid #f0f0f0}.ant-card-type-inner .ant-card-head{padding:0 12px;background:#fafafa}.ant-card-type-inner .ant-card-head-title{padding:12px 0;font-size:12px}.ant-card-type-inner .ant-card-body{padding:16px 12px}.ant-card-type-inner .ant-card-extra{padding:13.5px 0}.ant-card-meta{margin:-4px 0}.ant-card-meta::after{clear:both}.ant-card-meta-avatar{float:left;padding-right:16px}.ant-card-rtl .ant-card-meta-avatar{float:right;padding-right:0;padding-left:16px}.ant-card-meta-detail{overflow:hidden}.ant-card-meta-detail>div:not(:last-child){margin-bottom:4px}.ant-card-meta-title{overflow:hidden;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.ant-card-meta-description,.ant-comment-content-author-name,.ant-comment-content-author-name>*,.ant-comment-content-author-name>:hover{color:rgba(0,0,0,.45)}.ant-card-loading{overflow:hidden}.ant-card-loading .ant-card-body{user-select:none}.ant-card-loading-content p{margin:0}.ant-card-loading-block{height:14px;margin:4px 0;background:linear-gradient(90deg,rgba(207,216,220,.2),rgba(207,216,220,.4),rgba(207,216,220,.2));background-size:600% 600%;border-radius:2px;animation:card-loading 1.4s ease infinite}@keyframes card-loading{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.ant-card-small>.ant-card-head{min-height:30px;padding:0 12px;font-size:12px}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-head-title{padding:6px 0}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-extra{padding:6px 0;font-size:12px}.ant-card-small>.ant-card-body{padding:12px}.ant-card-rtl .ant-skeleton-header{padding:0 0 0 8.5px}nz-card,nz-card-loading,nz-card-meta{display:block}.ant-carousel{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum}.ant-carousel .slick-slider{position:relative;display:block;box-sizing:border-box;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-touch-callout:none}.ant-carousel .slick-list{position:relative;display:block;margin:0;padding:0;overflow:hidden}.ant-carousel .slick-list:focus{outline:0}.ant-carousel .slick-list.dragging{cursor:pointer}.ant-carousel .slick-list .slick-slide{pointer-events:none}.ant-carousel .slick-list .slick-slide.slick-active{pointer-events:auto}.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input{visibility:visible}.ant-carousel .slick-loading .slick-slide,.ant-checkbox-checked::after,.slick-loading .ant-carousel .slick-track{visibility:hidden}.ant-carousel .slick-list .slick-slide>div>div{vertical-align:bottom}.ant-carousel .slick-slider .slick-list,.ant-carousel .slick-slider .slick-track{transform:translate3d(0,0,0);touch-action:pan-y}.ant-carousel .slick-track{position:relative;top:0;left:0;display:block}.ant-carousel .slick-track::after,.ant-carousel .slick-track::before{display:table;content:''}.ant-carousel .slick-track::after{clear:both}.ant-carousel .slick-slide{display:none;float:left;height:100%;min-height:1px}.ant-carousel .slick-slide img{display:block}.ant-carousel .slick-slide.slick-loading img{display:none}.ant-carousel .slick-slide.dragging img{pointer-events:none}.ant-carousel .slick-initialized .slick-slide{display:block}.ant-carousel .slick-vertical .slick-slide{display:block;height:auto}.ant-carousel .slick-arrow.slick-hidden{display:none}.ant-carousel .slick-next,.ant-carousel .slick-prev{position:absolute;top:50%;display:block;width:20px;height:20px;margin-top:-10px;padding:0;color:transparent;font-size:0;line-height:0;background:0 0;border:0;outline:0;cursor:pointer}.ant-carousel .slick-next:focus,.ant-carousel .slick-next:hover,.ant-carousel .slick-prev:focus,.ant-carousel .slick-prev:hover{color:transparent;background:0 0;outline:0}.ant-carousel .slick-next:focus::before,.ant-carousel .slick-next:hover::before,.ant-carousel .slick-prev:focus::before,.ant-carousel .slick-prev:hover::before{opacity:1}.ant-carousel .slick-next.slick-disabled::before,.ant-carousel .slick-prev.slick-disabled::before{opacity:.25}.ant-carousel .slick-prev{left:-25px}.ant-carousel .slick-prev::before{content:'←'}.ant-carousel .slick-next::before,.ant-carousel-rtl .ant-carousel .slick-prev::before{content:'→'}.ant-carousel .slick-next{right:-25px}.ant-carousel .slick-dots{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex!important;justify-content:center;margin-right:15%;margin-left:15%;padding-left:0;list-style:none}.ant-carousel .slick-dots-bottom,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}.ant-carousel .slick-dots-top{top:12px;bottom:auto}.ant-carousel .slick-dots li{position:relative;display:inline-block;flex:0 1 auto;box-sizing:content-box;width:16px;height:3px;margin:0 3px;padding:0;text-align:center;text-indent:-999px;vertical-align:top;transition:all .5s}.ant-carousel .slick-dots li button{display:block;width:100%;height:3px;padding:0;color:transparent;font-size:0;background:#fff;border:0;border-radius:1px;outline:0;cursor:pointer;opacity:.3;transition:all .5s}.ant-carousel .slick-dots li button:focus,.ant-carousel .slick-dots li button:hover{opacity:.75}.ant-carousel .slick-dots li.slick-active{width:24px}.ant-carousel .slick-dots li.slick-active button{background:#fff;opacity:1}.ant-carousel .slick-dots li.slick-active:focus,.ant-carousel .slick-dots li.slick-active:hover{opacity:1}.ant-carousel-vertical .slick-dots{top:50%;bottom:auto;flex-direction:column;width:3px;height:auto;margin:0;transform:translateY(-50%)}.ant-carousel-vertical .slick-dots-left{right:auto;left:12px}.ant-carousel-vertical .slick-dots-right{right:12px;left:auto}.ant-carousel-vertical .slick-dots li{width:3px;height:16px;margin:4px 2px;vertical-align:baseline}.ant-checkbox,.ant-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-carousel-vertical .slick-dots li button{width:3px;height:16px}.ant-carousel-vertical .slick-dots li.slick-active,.ant-carousel-vertical .slick-dots li.slick-active button{width:3px;height:24px}.ant-carousel-rtl .ant-carousel .slick-track{right:0;left:auto}.ant-carousel-rtl .ant-carousel .slick-prev{right:-25px;left:auto}.ant-carousel-rtl .ant-carousel .slick-next{right:auto;left:-25px}.ant-carousel-rtl .ant-carousel .slick-next::before{content:'←'}.ant-carousel-rtl.ant-carousel .slick-dots{flex-direction:row-reverse}.ant-carousel-rtl.ant-carousel-vertical .slick-dots{flex-direction:column}nz-carousel{display:block;position:relative;overflow:hidden;width:100%;height:100%}.slick-dots{display:block}.slick-track{opacity:1}.slick-list{direction:ltr}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-checkbox{color:rgba(0,0,0,.85);position:relative;top:.2em;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-checkbox-input:focus+.ant-checkbox-inner,.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner{border-color:#1890ff}.ant-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-checkbox-wrapper:hover .ant-checkbox::after,.ant-checkbox:hover::after{visibility:visible}.ant-checkbox-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5px;height:8px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-checkbox-disabled,.ant-checkbox-disabled .ant-checkbox-input,.ant-checkbox-disabled+span{cursor:not-allowed}.ant-checkbox-checked .ant-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-checkbox-checked .ant-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after{border-color:rgba(0,0,0,.25);animation-name:none}.ant-checkbox-disabled .ant-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-checkbox-disabled .ant-checkbox-inner::after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-checkbox-disabled+span{color:rgba(0,0,0,.25)}.ant-checkbox-disabled:hover::after,.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after{visibility:hidden}.ant-checkbox-wrapper{color:rgba(0,0,0,.85);display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled{cursor:not-allowed}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-left:8px}.ant-checkbox+span{padding-right:8px;padding-left:8px}.ant-checkbox-group,.ant-collapse{padding:0;color:rgba(0,0,0,.85);font-size:12px;box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-checkbox-group{margin:0;line-height:1.66667;display:inline-block}.ant-checkbox-group-item{margin-right:6px}.ant-checkbox-group-item:last-child{margin-right:0}.ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:0}.ant-checkbox-indeterminate .ant-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-checkbox-indeterminate .ant-checkbox-inner::after{top:50%;left:50%;width:6px;height:6px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-checkbox-group-rtl .ant-checkbox-group-item{margin-right:0;margin-left:6px}.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child{margin-left:0!important}.ant-checkbox-group-rtl .ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:6px}.ant-checkbox+span:empty{display:none}.ant-collapse{margin:0;line-height:1.66667;background-color:#fafafa;border:1px solid #d9d9d9;border-bottom:0;border-radius:2px}.ant-collapse-item:last-child>.ant-collapse-content,.ant-collapse>.ant-collapse-item:last-child,.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{border-radius:0 0 2px 2px}.ant-collapse>.ant-collapse-item{border-bottom:1px solid #d9d9d9}.ant-collapse>.ant-collapse-item>.ant-collapse-header{position:relative;padding:8px;color:rgba(0,0,0,.85);line-height:1.66667;cursor:pointer;transition:all .3s,visibility 0s}.ant-collapse>.ant-collapse-item>.ant-collapse-header::before{display:table;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header::after{display:table;clear:both;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{display:inline-block;margin-right:12px;font-size:12px;vertical-align:-1px}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg{transition:transform .24s}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:right}.ant-collapse>.ant-collapse-item>.ant-collapse-header:focus{outline:0}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only{cursor:default}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text{cursor:pointer}.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-left:12px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header{padding:8px 40px 8px 8px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{position:absolute;top:50%;right:8px;left:auto;margin:0;transform:translateY(-50%)}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.ant-dropdown-wrap-open .anticon-down::before,.ant-picker-rtl .ant-picker-separator{transform:rotate(180deg)}.ant-collapse-content{color:rgba(0,0,0,.85);background-color:#fff;border-top:1px solid #d9d9d9}.ant-collapse-borderless,.ant-descriptions-bordered .ant-descriptions-item-label{background-color:#fafafa}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content,.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content{border-top:0;background-color:transparent}.ant-collapse-content>.ant-collapse-content-box{padding:8px 16px}.ant-collapse-content-hidden{display:none}nz-collapse,nz-collapse-panel,nz-comment,nz-comment-content{display:block}.ant-collapse-borderless{border:0}.ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #d9d9d9}.ant-collapse-borderless>.ant-collapse-item:last-child,.ant-collapse-borderless>.ant-collapse-item:last-child .ant-collapse-header{border-radius:0}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:4px}.ant-collapse-ghost{background-color:transparent;border:0}.ant-collapse-ghost>.ant-collapse-item{border-bottom:0}.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:12px;padding-bottom:12px}.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-collapse-rtl .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:8px 40px 8px 8px}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:left}.ant-collapse-rtl.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-right:12px;padding-left:0}.ant-comment{position:relative;background-color:inherit}.ant-comment-inner{display:flex;padding:8px 0}.ant-comment-avatar{position:relative;flex-shrink:0;margin-right:8px;cursor:pointer}.ant-comment-avatar img{width:32px;height:32px;border-radius:50%}.ant-comment-content{position:relative;flex:1 1 auto;min-width:1px;font-size:12px;word-wrap:break-word}.ant-comment-content-author{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:0;font-size:12px}.ant-comment-content-author>a,.ant-comment-content-author>span{padding-right:4px;font-size:12px;line-height:18px}.ant-comment-content-author-name{font-size:12px;transition:color .3s}.ant-comment-content-author-time{color:#ccc;white-space:nowrap;cursor:auto}.ant-comment-content-detail p{margin-bottom:0;white-space:pre-wrap}.ant-comment-actions{margin-top:4px;margin-bottom:0;padding-left:0}.ant-comment-actions>li{display:inline-block;color:rgba(0,0,0,.45)}.ant-comment-actions>li>span{margin-right:10px;color:rgba(0,0,0,.45);font-size:12px;cursor:pointer;transition:color .3s;user-select:none}.ant-comment-actions>li>span:hover{color:#595959}.ant-comment-nested{margin-left:44px}.ant-comment-rtl .ant-comment-avatar{margin-right:0;margin-left:12px}.ant-comment-rtl .ant-comment-content-author>a,.ant-comment-rtl .ant-comment-content-author>span{padding-right:0;padding-left:8px}.ant-comment-rtl .ant-comment-actions{padding-right:0}.ant-comment-rtl .ant-comment-actions>li>span{margin-right:0;margin-left:10px}.ant-comment-rtl .ant-comment-nested{margin-right:44px;margin-left:0}.ant-picker,.ant-picker-input{display:inline-flex;position:relative}.ant-picker{box-sizing:border-box;margin:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;padding:3px 7px;align-items:center;background:#fff;border:1px solid #d9d9d9;border-radius:2px;transition:border .3s,box-shadow .3s}.ant-picker-focused,.ant-picker:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-picker-focused,.ant-input-rtl .ant-picker:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-focused{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-picker-focused{border-right-width:0;border-left-width:1px!important}.ant-picker.ant-picker-disabled{background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-picker.ant-picker-disabled .ant-picker-suffix{color:rgba(0,0,0,.25)}.ant-picker.ant-picker-borderless{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-picker-input{align-items:center;width:100%}.ant-picker-input>input{position:relative;display:inline-block;width:100%;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;border-radius:2px;transition:all .3s;flex:auto;min-width:1px;height:auto;padding:0;background:0 0;border:0}.ant-picker-input>input::-moz-placeholder{opacity:1}.ant-picker-input>input::placeholder{color:#bfbfbf}.ant-picker-input>input-disabled,.ant-picker-input>input[disabled]{background-color:#f5f5f5;cursor:not-allowed;color:rgba(0,0,0,.25);opacity:1;pointer-events:none}.ant-picker-input>input:placeholder-shown{text-overflow:ellipsis}.ant-picker-input>input:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-picker-input>input:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-focused,.ant-picker-input>input:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-picker-input>input-focused,.ant-input-rtl .ant-picker-input>input:focus{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-disabled:hover,.ant-picker-input>input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-picker-input>input-borderless,.ant-picker-input>input-borderless-disabled,.ant-picker-input>input-borderless-focused,.ant-picker-input>input-borderless:focus,.ant-picker-input>input-borderless:hover,.ant-picker-input>input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-picker-input>input{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-picker-input>input-lg{padding:3.4px 11px;font-size:14px}.ant-picker-input>input-sm{padding:0 7px}.ant-picker-input>input:focus{box-shadow:none}.ant-picker-input>input[disabled]{background:0 0}.ant-picker-input:hover .ant-picker-clear{opacity:1}.ant-picker-input-placeholder>input{color:#bfbfbf}.ant-picker-large{padding:3.5px 11px}.ant-picker-large .ant-picker-input>input{font-size:14px}.ant-picker-small{padding:0 7px}.ant-picker-suffix{align-self:center;margin-left:2px;color:rgba(0,0,0,.25);line-height:1;pointer-events:none}.ant-picker-suffix>*{vertical-align:top}.ant-picker-clear{position:absolute;top:50%;right:0;color:rgba(0,0,0,.25);line-height:1;background:#fff;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .3s,color .3s}.ant-picker-clear>*{vertical-align:top}.ant-picker-clear:hover{color:rgba(0,0,0,.45)}.ant-picker-separator{position:relative;display:inline-block;width:1em;height:14px;color:rgba(0,0,0,.25);font-size:14px;vertical-align:top;cursor:default}.ant-picker-focused .ant-picker-separator{color:rgba(0,0,0,.45)}.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator{cursor:not-allowed}.ant-picker-range{position:relative;display:inline-flex}.ant-picker-range .ant-picker-clear{right:7px}.ant-picker-range:hover .ant-picker-clear{opacity:1}.ant-picker-range .ant-picker-active-bar{bottom:-1px;height:2px;margin-left:7px;background:#1890ff;opacity:0;transition:all .3s ease-out;pointer-events:none}.ant-picker-range.ant-picker-focused .ant-picker-active-bar{opacity:1}.ant-picker-range-separator{align-items:center;padding:0 4px;line-height:1}.ant-picker-range.ant-picker-small .ant-picker-clear{right:7px}.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-left:7px}.ant-picker-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:absolute;z-index:1050}.ant-picker-dropdown-hidden{display:none}.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow{top:1.67px;display:block;transform:rotate(-45deg)}.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow{bottom:1.67px;display:block;transform:rotate(135deg)}.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-bottomLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpIn}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-picker-dropdown-range{padding:6.67px 0}.ant-picker-dropdown-range-hidden{display:none}.ant-picker-dropdown .ant-picker-panel>.ant-picker-time-panel{padding-top:2px}.ant-picker-ranges{margin-bottom:0;padding:2px 8px;overflow:hidden;line-height:28px;text-align:left;list-style:none}.ant-picker-ranges>li{display:inline-block}.ant-picker-ranges .ant-picker-preset>.ant-tag-blue{color:#1890ff;background:#e6f7ff;border-color:#91d5ff;cursor:pointer}.ant-picker-ranges .ant-picker-ok{float:right;margin-left:4px}.ant-picker-range-wrapper{display:flex}.ant-picker-range-arrow{position:absolute;z-index:1;display:none;width:10px;height:10px;margin-left:10.5px;box-shadow:2px -2px 6px rgba(0,0,0,.06);transition:left .3s ease-out}.ant-picker-range-arrow::after{position:absolute;top:1px;right:1px;width:10px;height:10px;border:5px solid #f0f0f0;border-color:#fff #fff transparent transparent;content:''}.ant-picker-panel-container{overflow:hidden;vertical-align:top;background:#fff;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);transition:margin .3s}.ant-picker-panel-container .ant-picker-panels{display:inline-flex;flex-wrap:nowrap;direction:ltr}.ant-picker-panel-container .ant-picker-panel{vertical-align:top;background:0 0;border-width:0 0 1px;border-radius:0}.ant-picker-panel-container .ant-picker-panel-focused{border-color:#f0f0f0}.ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#fff;border:1px solid #f0f0f0;border-radius:2px;outline:0}.ant-picker-panel-focused{border-color:#1890ff}.ant-picker-date-panel,.ant-picker-decade-panel,.ant-picker-month-panel,.ant-picker-quarter-panel,.ant-picker-time-panel,.ant-picker-week-panel,.ant-picker-year-panel{display:flex;flex-direction:column;width:244px}.ant-picker-header{display:flex;padding:0 4px;color:rgba(0,0,0,.85);border-bottom:1px solid #f0f0f0}.ant-picker-header>*{flex:none}.ant-picker-header button{padding:0;color:rgba(0,0,0,.25);line-height:32px;background:0 0;border:0;cursor:pointer;transition:color .3s}.ant-picker-header>button{min-width:1.6em;font-size:12px}.ant-picker-header>button:hover{color:rgba(0,0,0,.85)}.ant-picker-header-view{flex:auto;font-weight:500;line-height:32px}.ant-picker-header-view button{color:inherit;font-weight:inherit}.ant-picker-header-view button:not(:first-child){margin-left:4px}.ant-picker-header-view button:hover{color:#1890ff}.ant-picker-next-icon,.ant-picker-prev-icon,.ant-picker-super-next-icon,.ant-picker-super-prev-icon{position:relative;display:inline-block;width:7px;height:7px}.ant-picker-next-icon::before,.ant-picker-prev-icon::before,.ant-picker-super-next-icon::before,.ant-picker-super-prev-icon::before{position:absolute;top:0;left:0;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-super-next-icon::after,.ant-picker-super-prev-icon::after{position:absolute;top:4px;left:4px;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-prev-icon,.ant-picker-super-prev-icon{transform:rotate(-45deg)}.ant-picker-next-icon,.ant-picker-super-next-icon{transform:rotate(135deg)}.ant-picker-content{width:100%;table-layout:fixed}.ant-picker-content td,.ant-picker-content th{position:relative;min-width:24px;font-weight:400}.ant-picker-content th{height:30px;color:rgba(0,0,0,.85);line-height:30px}.ant-picker-cell{padding:3px 0;color:rgba(0,0,0,.25);cursor:pointer}.ant-picker-cell-in-view{color:rgba(0,0,0,.85)}.ant-picker-cell-disabled{cursor:not-allowed;pointer-events:none}.ant-picker-cell::before{position:absolute;top:50%;right:0;left:0;z-index:1;height:22px;transform:translateY(-50%);content:''}.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:#f5f5f5}.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:1px solid #1890ff;border-radius:2px;content:''}.ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative}.ant-picker-cell-in-view.ant-picker-cell-in-range::before{background:#e6f7ff}.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{color:#fff;background:#1890ff}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before{background:#e6f7ff}.ant-picker-cell-in-view.ant-picker-cell-range-start::before{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #7ec1ff;border-bottom:1px dashed #7ec1ff;transform:translateY(-50%);content:''}.ant-picker-cell-range-hover-end::after,.ant-picker-cell-range-hover-start::after,.ant-picker-cell-range-hover::after{right:0;left:2px}.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before{background:#cbe6ff}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after,.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{position:absolute;top:0;bottom:0;z-index:-1;background:#cbe6ff;content:''}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:50%}.ant-picker-cell-range-hover.ant-picker-cell-range-end::after{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after{left:6px;border-left:1px dashed #7ec1ff;border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after{right:6px;border-right:1px dashed #7ec1ff;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-picker-cell-disabled .ant-picker-cell-inner{color:rgba(0,0,0,.25);background:0 0}.ant-picker-cell-disabled::before,.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner{background:#f5f5f5}.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:rgba(0,0,0,.25)}.ant-picker-decade-panel .ant-picker-content,.ant-picker-month-panel .ant-picker-content,.ant-picker-quarter-panel .ant-picker-content,.ant-picker-year-panel .ant-picker-content{height:192px}.ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{padding:0 4px}.ant-picker-quarter-panel .ant-picker-content{height:56px}.ant-picker-footer{width:min-content;min-width:100%;line-height:30px;text-align:center;border-bottom:1px solid transparent}.ant-picker-panel .ant-picker-footer{border-top:1px solid #f0f0f0}.ant-picker-footer-extra{padding:0 8px;line-height:30px;text-align:left}.ant-picker-footer-extra:not(:last-child){border-bottom:1px solid #f0f0f0}.ant-picker-now{text-align:left}.ant-picker-today-btn{color:#1890ff}.ant-picker-today-btn:hover{color:#40a9ff}.ant-picker-today-btn:active{color:#096dd9}.ant-picker-today-btn.ant-picker-today-btn-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-picker-decade-panel .ant-picker-cell-inner{padding:0 2px}.ant-picker-decade-panel .ant-picker-cell::before{display:none}.ant-picker-month-panel .ant-picker-body,.ant-picker-quarter-panel .ant-picker-body,.ant-picker-year-panel .ant-picker-body{padding:0 4px}.ant-picker-date-panel .ant-picker-body,.ant-picker-week-panel .ant-picker-body{padding:4px 8px}.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{width:60px}.ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-year-panel .ant-picker-cell-range-hover-start::after{left:9.33px;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-year-panel .ant-picker-cell-range-hover-end::after{right:9.33px;border-right:1px dashed #7ec1ff;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after{left:9.33px;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner{background:0 0!important}.ant-picker-week-panel-row td{transition:background .3s}.ant-picker-week-panel-row:hover td{background:#f5f5f5}.ant-picker-week-panel-row-selected td,.ant-picker-week-panel-row-selected:hover td{background:#1890ff}.ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:rgba(255,255,255,.5)}.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:#fff}.ant-picker-datetime-panel .ant-picker-time-panel,.ant-picker-time-panel-column:not(:first-child){border-left:1px solid #f0f0f0}.ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff}.ant-picker-date-panel .ant-picker-content{width:224px}.ant-picker-date-panel .ant-picker-content th{width:32px}.ant-picker-datetime-panel{display:flex}.ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity .3s}.ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:.3}.ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1}.ant-picker-time-panel{width:auto;min-width:auto}.ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px}.ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:0;padding:0;overflow-y:hidden;text-align:left;list-style:none;transition:background .3s}.ant-picker-time-panel-column::after{display:block;height:200px;content:''}.ant-picker-datetime-panel .ant-picker-time-panel-column::after{height:202px}.ant-picker-time-panel-column-active{background:rgba(230,247,255,.2)}.ant-picker-time-panel-column:hover{overflow-y:auto}.ant-picker-time-panel-column>li{margin:0;padding:0}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:100%;height:24px;margin:0;padding:0 0 0 14px;color:rgba(0,0,0,.85);line-height:24px;border-radius:0;cursor:pointer;transition:background .3s}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:#f5f5f5}.ant-menu-item:active,.ant-menu-submenu-title:active,.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#e6f7ff}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:rgba(0,0,0,.25);background:0 0;cursor:not-allowed}:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell{padding:21px 0}.ant-picker-rtl .ant-picker-suffix{margin-right:2px;margin-left:0}.ant-picker-rtl .ant-picker-clear{right:auto;left:0}.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child){margin-right:4px;margin-left:0}.ant-picker-rtl.ant-picker-range .ant-picker-clear{right:auto;left:7px}.ant-picker-rtl.ant-picker-range .ant-picker-active-bar{margin-right:7px;margin-left:0}.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-right:7px}.ant-picker-dropdown-rtl .ant-picker-ranges{text-align:right}.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok{float:left;margin-right:4px;margin-left:0}.ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(135deg)}.ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-45deg)}.ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:22px;height:22px;line-height:22px;border-radius:2px;transition:background .3s,border .3s}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before{right:50%;left:50%}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after{right:6px;left:0;border-right:1px dashed #7ec1ff;border-left:none;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after{right:0;left:6px;border-right:none;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after{right:6px;left:6px;border-right:1px dashed #7ec1ff;border-left:1px dashed #7ec1ff;border-radius:2px}.ant-picker-dropdown-rtl .ant-picker-footer-extra{text-align:right}.ant-picker-panel-rtl .ant-picker-time-panel{direction:ltr}.ant-descriptions-rtl,.ant-divider-rtl,.ant-drawer-rtl,.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title,.ant-empty-rtl,.ant-input-affix-wrapper-rtl,.ant-input-group-rtl,.ant-input-group-wrapper-rtl,.ant-input-number-rtl,.ant-input-rtl,.ant-input-search-rtl,.ant-input-textarea-rtl,.ant-row-rtl{direction:rtl}.ant-picker-inline{border:none;padding:0}.ant-picker-inline .ant-picker-range-arrow{display:none!important}.ant-descriptions-header{display:flex;align-items:center;margin-bottom:8px}.ant-descriptions-title{flex:auto;overflow:hidden;color:rgba(0,0,0,.85);font-weight:700;font-size:14px;line-height:1.66667;white-space:nowrap;text-overflow:ellipsis}.ant-descriptions-extra,.ant-descriptions-item-content,.ant-descriptions-item-label,.ant-divider{font-size:12px;color:rgba(0,0,0,.85)}.ant-descriptions-extra{margin-left:auto}.ant-descriptions-view{width:100%;overflow:hidden;border-radius:2px}.ant-descriptions-view table{width:100%;table-layout:fixed}.ant-descriptions-row>td,.ant-descriptions-row>th{padding-bottom:4px}.ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-item-label{font-weight:400;line-height:1.66667;text-align:start}.ant-descriptions-item-label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-descriptions-item-label.ant-descriptions-item-no-colon::after,.ant-dropdown::before{content:' '}.ant-descriptions-item-no-label::after{margin:0;content:''}.ant-descriptions-item-content{display:table-cell;flex:1;line-height:1.66667;word-break:break-word;overflow-wrap:break-word}.ant-descriptions-item{padding-bottom:0;vertical-align:top}.ant-descriptions-item-container{display:flex}.ant-descriptions-item-container .ant-descriptions-item-content,.ant-descriptions-item-container .ant-descriptions-item-label{display:inline-flex;align-items:baseline}.ant-descriptions-middle .ant-descriptions-row>td,.ant-descriptions-middle .ant-descriptions-row>th{padding-bottom:8px}.ant-descriptions-small .ant-descriptions-row>td,.ant-descriptions-small .ant-descriptions-row>th{padding-bottom:4px}.ant-descriptions-bordered .ant-descriptions-view{border:1px solid #f0f0f0}.ant-descriptions-bordered .ant-descriptions-view>table{table-layout:auto}.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-bordered .ant-descriptions-item-label{padding:12px 16px;border-right:1px solid #f0f0f0}.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-right:none}.ant-descriptions-bordered .ant-descriptions-item-label::after{display:none}.ant-descriptions-bordered .ant-descriptions-row{border-bottom:1px solid #f0f0f0}.ant-descriptions-bordered .ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label{padding:8px 16px}.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label{padding:4px 8px}.ant-descriptions-rtl .ant-descriptions-item-label::after{margin:0 2px 0 8px}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label{border-right:none;border-left:1px solid #f0f0f0}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-left:none}nz-descriptions{display:block}.ant-divider{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;border-top:1px solid rgba(0,0,0,.06)}.ant-divider-vertical{position:relative;top:-.06em;display:inline-block;height:.9em;margin:0 8px;vertical-align:middle;border-top:0;border-left:1px solid rgba(0,0,0,.06)}.ant-divider-horizontal{display:flex;clear:both;width:100%;min-width:100%;margin:24px 0}.ant-divider-horizontal.ant-divider-with-text{display:flex;margin:16px 0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;white-space:nowrap;text-align:center;border-top:0;border-top-color:rgba(0,0,0,.06)}.ant-divider-horizontal.ant-divider-with-text::after,.ant-divider-horizontal.ant-divider-with-text::before{position:relative;top:50%;width:50%;border-top:1px solid transparent;border-top-color:inherit;border-bottom:0;transform:translateY(50%);content:''}.ant-divider-horizontal.ant-divider-with-text-left::before{top:50%;width:5%}.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-horizontal.ant-divider-with-text-right::before{top:50%;width:95%}.ant-divider-horizontal.ant-divider-with-text-right::after{top:50%;width:5%}.ant-divider-inner-text{display:inline-block;padding:0 1em}.ant-divider-dashed{background:0 0;border-color:rgba(0,0,0,.06);border-style:dashed;border-width:1px 0 0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed{border-top:0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after,.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before{border-style:dashed none none}.ant-divider-vertical.ant-divider-dashed{border-width:0 0 0 1px}.ant-divider-plain.ant-divider-with-text{color:rgba(0,0,0,.85);font-weight:400;font-size:12px}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before{width:95%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before{width:5%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after{width:95%}.ant-drawer{position:fixed;z-index:1000;width:0%;height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1),height 0s ease .3s,width 0s ease .3s}.ant-drawer>*{transition:transform .3s cubic-bezier(.7,.3,.1,1),box-shadow .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-content-wrapper{position:absolute;width:100%;height:100%}.ant-drawer .ant-drawer-content{width:100%;height:100%}.ant-drawer-left,.ant-drawer-right{top:0;width:0%;height:100%}.ant-drawer-left .ant-drawer-content-wrapper,.ant-drawer-right .ant-drawer-content-wrapper{height:100%}.ant-drawer-left.ant-drawer-open,.ant-drawer-right.ant-drawer-open{width:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-left,.ant-drawer-left .ant-drawer-content-wrapper{left:0}.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:6px 0 16px -8px rgba(0,0,0,.08),9px 0 28px 0 rgba(0,0,0,.05),12px 0 48px 16px rgba(0,0,0,.03)}.ant-drawer-right,.ant-drawer-right .ant-drawer-content-wrapper{right:0}.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:-6px 0 16px -8px rgba(0,0,0,.08),-9px 0 28px 0 rgba(0,0,0,.05),-12px 0 48px 16px rgba(0,0,0,.03)}.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper,.header-dropdown{box-shadow:0 6px 16px -8px rgba(0,0,0,.08),0 9px 28px 0 rgba(0,0,0,.05),0 12px 48px 16px rgba(0,0,0,.03)}.ant-drawer-right.ant-drawer-open.no-mask{right:1px;transform:translateX(1px)}.ant-drawer-bottom,.ant-drawer-top{left:0;width:100%;height:0%}.ant-drawer-bottom .ant-drawer-content-wrapper,.ant-drawer-top .ant-drawer-content-wrapper{width:100%}.ant-drawer-bottom.ant-drawer-open,.ant-drawer-top.ant-drawer-open{height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-top{top:0}.ant-drawer-bottom,.ant-drawer-bottom .ant-drawer-content-wrapper{bottom:0}.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:0 -6px 16px -8px rgba(0,0,0,.08),0 -9px 28px 0 rgba(0,0,0,.05),0 -12px 48px 16px rgba(0,0,0,.03)}.ant-drawer-bottom.ant-drawer-open.no-mask{bottom:1px;transform:translateY(1px)}.ant-drawer.ant-drawer-open .ant-drawer-mask{height:100%;opacity:1;transition:none;animation:antdDrawerFadeIn .3s cubic-bezier(.7,.3,.1,1);pointer-events:auto}.ant-drawer-mask,.ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-submenu-title-disabled a{pointer-events:none}.ant-drawer-title{margin:0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:22px}.ant-drawer-content{position:relative;z-index:1;overflow:auto;background-color:#fff;background-clip:padding-box;border:0}.ant-drawer-close{position:absolute;top:0;right:0;z-index:10;display:block;padding:15px;color:rgba(0,0,0,.45);font-weight:700;font-size:14px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s;text-rendering:auto}.ant-drawer-body,.ant-dropdown{line-height:1.66667;font-size:12px}.ant-drawer-header,.ant-list-split .ant-list-item{border-bottom:1px solid #f0f0f0}.ant-drawer-footer,.ant-list-split.ant-list-empty .ant-list-footer{border-top:1px solid #f0f0f0}.ant-drawer-close:focus,.ant-drawer-close:hover{color:rgba(0,0,0,.75);text-decoration:none}.ant-drawer-header,.ant-drawer-header-no-title{color:rgba(0,0,0,.85);background:#fff}.ant-drawer-header-no-title .ant-drawer-close{margin-right:var(--scroll-bar);padding-right:calc(15px - var(--scroll-bar))}.ant-drawer-header{position:relative;padding:11px 16px;border-radius:2px 2px 0 0}.ant-drawer-wrapper-body{display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;height:100%}.ant-drawer-body{flex-grow:1;padding:16px;overflow:auto;word-wrap:break-word}.ant-drawer-footer{flex-shrink:0;padding:8px}.ant-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0;background-color:rgba(0,0,0,.45);opacity:0;filter:alpha(opacity=45);transition:opacity .3s linear,height 0s ease .3s}.ant-drawer-open-content{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-drawer .ant-picker-clear{background:#fff}@keyframes antdDrawerFadeIn{0%{opacity:0}100%{opacity:1}}.ant-drawer-rtl .ant-drawer-close{right:auto;left:0}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger{color:#ff4d4f}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover{color:#fff;background-color:#ff4d4f}.ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;z-index:1050;display:block}.ant-dropdown::before{position:absolute;top:-4px;right:0;bottom:-4px;left:-7px;z-index:-9999;opacity:.0001}.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{right:16px}.ant-dropdown-wrap{position:relative}.ant-dropdown-wrap .ant-btn>.anticon-down{font-size:10px}.ant-dropdown-wrap .anticon-down::before{transition:transform .2s}.ant-dropdown-hidden,.ant-dropdown-menu-hidden,.ant-dropdown-menu-submenu-hidden{display:none}.ant-dropdown-show-arrow.ant-dropdown-placement-topCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-topRight{padding-bottom:10px}.ant-dropdown-show-arrow.ant-dropdown-placement-bottomCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight{padding-top:10px}.ant-dropdown-arrow{position:absolute;z-index:1;display:block;width:8.49px;height:8.49px;background:0 0;border-style:solid;border-width:4.24px;transform:rotate(45deg)}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow,.ant-dropdown-placement-topLeft>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:6.2px;box-shadow:3px 3px 7px rgba(0,0,0,.07);border-color:transparent #fff #fff transparent}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-topLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow,.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:6px;box-shadow:-2px -2px 5px rgba(0,0,0,.06);border-color:#fff transparent transparent #fff}.ant-dropdown-menu,.ant-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-menu{position:relative;margin:0;padding:4px 0;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:0}.ant-dropdown-menu-item-group-title{padding:5px 8px;color:rgba(0,0,0,.45);transition:all .3s}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;box-shadow:none;transform-origin:0 0}.ant-dropdown-menu-submenu-popup li,.ant-dropdown-menu-submenu-popup ul{list-style:none}.ant-dropdown-menu-submenu-popup ul{margin-right:.3em;margin-left:.3em}.ant-dropdown-menu-item{position:relative;display:flex;align-items:center}.ant-dropdown-menu-item-icon{min-width:12px;margin-right:8px;font-size:12px}.ant-dropdown-menu-title-content{flex:auto}.ant-dropdown-menu-title-content>a{color:inherit;transition:all .3s}.ant-dropdown-menu-title-content>a:hover{color:inherit}.ant-dropdown-menu-title-content>a::after{position:absolute;top:0;right:0;bottom:0;left:0;content:''}.ant-dropdown-menu-item,.ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 8px;color:rgba(0,0,0,.85);font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;cursor:pointer;transition:all .3s}.ant-dropdown-menu-item-selected,.ant-dropdown-menu-submenu-title-selected{color:#1890ff;background-color:#e6f7ff}.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover{background-color:#f5f5f5}.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu-title-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;right:4px}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-right:0!important;color:rgba(0,0,0,.45);font-size:10px;font-style:normal}.ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none}.ant-dropdown-menu-submenu-title{padding-right:20px}.ant-dropdown-menu-submenu-vertical{position:relative}.ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{position:absolute;top:0;left:100%;min-width:100%;margin-left:4px;transform-origin:0 0}.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#1890ff}.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-dropdown-button>.anticon.anticon-down,.ant-dropdown-link>.anticon.anticon-down,.ant-dropdown-trigger>.anticon.anticon-down{font-size:10px;vertical-align:baseline}.ant-dropdown-button{white-space:nowrap}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-right:4px;padding-left:4px}.ant-dropdown-menu-dark,.ant-dropdown-menu-dark .ant-dropdown-menu{background:#001529}.ant-dropdown-menu-dark .ant-dropdown-menu-item,.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after{color:rgba(255,255,255,.65)}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover{color:#fff;background:0 0}.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected>a{color:#fff;background:#1890ff}.ant-input,.ant-input-affix-wrapper,.ant-input-number{min-width:0;background-color:#fff}.ant-dropdown-rtl.ant-dropdown::before{right:-7px;left:0}.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title{text-align:right}.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl{transform-origin:100% 0}.ant-dropdown-rtl .ant-dropdown-menu-item,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{text-align:right}.ant-dropdown-rtl .ant-dropdown-menu-item>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-item>span>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>span>.anticon:first-child{margin-right:0;margin-left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{right:auto;left:4px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{margin-left:0!important;transform:scaleX(-1)}.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{padding-right:8px;padding-left:20px}.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{right:100%;left:0;margin-right:4px;margin-left:0}.ant-dropdown-menu>ul{list-style:inherit;margin:0;padding:0}.ant-dropdown{top:0;left:0;position:relative;width:100%;margin-top:6px;margin-bottom:6px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{transform:rotate(180deg)}.ant-empty{margin:0 8px;font-size:12px;line-height:1.66667;text-align:center}.ant-empty-image{height:100px;margin-bottom:8px}.ant-empty-image img{height:100%}.ant-empty-image svg{height:100%;margin:auto}.ant-empty-footer{margin-top:16px}.ant-empty-normal{margin:32px 0;color:rgba(0,0,0,.25)}.ant-empty-normal .ant-empty-image{height:40px}.ant-empty-small{margin:8px 0;color:rgba(0,0,0,.25)}.ant-empty-small .ant-empty-image{height:35px}.ant-empty-img-default-ellipse{fill:#f5f5f5;fill-opacity:.8}.ant-empty-img-default-path-1{fill:#aeb8c2}.ant-empty-img-default-path-2{fill:url(#linearGradient-1)}.ant-empty-img-default-path-3{fill:#f5f5f7}.ant-empty-img-default-path-4,.ant-empty-img-default-path-5{fill:#dce0e6}.ant-empty-img-default-g{fill:#fff}.ant-empty-img-simple-ellipse{fill:#f5f5f5}.ant-empty-img-simple-g{stroke:#d9d9d9}.ant-empty-img-simple-path{fill:#fafafa}nz-empty{display:block}.ant-row,.ant-row::after,.ant-row::before{display:flex}.ant-row{flex-flow:row wrap}.ant-col-1,.ant-col-10,.ant-col-11,.ant-col-12,.ant-col-13,.ant-col-14,.ant-col-15,.ant-col-16,.ant-col-17,.ant-col-18,.ant-col-19,.ant-col-2,.ant-col-20,.ant-col-21,.ant-col-22,.ant-col-23,.ant-col-24,.ant-col-3,.ant-col-4,.ant-col-5,.ant-col-6,.ant-col-7,.ant-col-8,.ant-col-9{display:block}.ant-row-no-wrap{flex-wrap:nowrap}.ant-row-start{justify-content:flex-start}.ant-row-center{justify-content:center}.ant-row-end{justify-content:flex-end}.ant-page-header-heading,.ant-row-space-between{justify-content:space-between}.ant-row-space-around{justify-content:space-around}.ant-row-top{align-items:flex-start}.ant-row-middle{align-items:center}.ant-row-bottom{align-items:flex-end}.ant-col{position:relative;max-width:100%;min-height:1px}.ant-col-24{flex:0 0 100%;max-width:100%}.ant-col-push-24{left:100%}.ant-col-pull-24{right:100%}.ant-col-offset-24{margin-left:100%}.ant-col-order-24{order:24}.ant-col-23{flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-push-23{left:95.83333333%}.ant-col-pull-23{right:95.83333333%}.ant-col-offset-23{margin-left:95.83333333%}.ant-col-order-23{order:23}.ant-col-22{flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-push-22{left:91.66666667%}.ant-col-pull-22{right:91.66666667%}.ant-col-offset-22{margin-left:91.66666667%}.ant-col-order-22{order:22}.ant-col-21{flex:0 0 87.5%;max-width:87.5%}.ant-col-push-21{left:87.5%}.ant-col-pull-21{right:87.5%}.ant-col-offset-21{margin-left:87.5%}.ant-col-order-21{order:21}.ant-col-20{flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-push-20{left:83.33333333%}.ant-col-pull-20{right:83.33333333%}.ant-col-offset-20{margin-left:83.33333333%}.ant-col-order-20{order:20}.ant-col-19{flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-push-19{left:79.16666667%}.ant-col-pull-19{right:79.16666667%}.ant-col-offset-19{margin-left:79.16666667%}.ant-col-order-19{order:19}.ant-col-18{flex:0 0 75%;max-width:75%}.ant-col-push-18{left:75%}.ant-col-pull-18{right:75%}.ant-col-offset-18{margin-left:75%}.ant-col-order-18{order:18}.ant-col-17{flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-push-17{left:70.83333333%}.ant-col-pull-17{right:70.83333333%}.ant-col-offset-17{margin-left:70.83333333%}.ant-col-order-17{order:17}.ant-col-16{flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-push-16{left:66.66666667%}.ant-col-pull-16{right:66.66666667%}.ant-col-offset-16{margin-left:66.66666667%}.ant-col-order-16{order:16}.ant-col-15{flex:0 0 62.5%;max-width:62.5%}.ant-col-push-15{left:62.5%}.ant-col-pull-15{right:62.5%}.ant-col-offset-15{margin-left:62.5%}.ant-col-order-15{order:15}.ant-col-14{flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-push-14{left:58.33333333%}.ant-col-pull-14{right:58.33333333%}.ant-col-offset-14{margin-left:58.33333333%}.ant-col-order-14{order:14}.ant-col-13{flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-push-13{left:54.16666667%}.ant-col-pull-13{right:54.16666667%}.ant-col-offset-13{margin-left:54.16666667%}.ant-col-order-13{order:13}.ant-col-12{flex:0 0 50%;max-width:50%}.ant-col-push-12{left:50%}.ant-col-pull-12{right:50%}.ant-col-offset-12{margin-left:50%}.ant-col-order-12{order:12}.ant-col-11{flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-push-11{left:45.83333333%}.ant-col-pull-11{right:45.83333333%}.ant-col-offset-11{margin-left:45.83333333%}.ant-col-order-11{order:11}.ant-col-10{flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-push-10{left:41.66666667%}.ant-col-pull-10{right:41.66666667%}.ant-col-offset-10{margin-left:41.66666667%}.ant-col-order-10{order:10}.ant-col-9{flex:0 0 37.5%;max-width:37.5%}.ant-col-push-9{left:37.5%}.ant-col-pull-9{right:37.5%}.ant-col-offset-9{margin-left:37.5%}.ant-col-order-9{order:9}.ant-col-8{flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-push-8{left:33.33333333%}.ant-col-pull-8{right:33.33333333%}.ant-col-offset-8{margin-left:33.33333333%}.ant-col-order-8{order:8}.ant-col-7{flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-push-7{left:29.16666667%}.ant-col-pull-7{right:29.16666667%}.ant-col-offset-7{margin-left:29.16666667%}.ant-col-order-7{order:7}.ant-col-6{flex:0 0 25%;max-width:25%}.ant-col-push-6{left:25%}.ant-col-pull-6{right:25%}.ant-col-offset-6{margin-left:25%}.ant-col-order-6{order:6}.ant-col-5{flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-push-5{left:20.83333333%}.ant-col-pull-5{right:20.83333333%}.ant-col-offset-5{margin-left:20.83333333%}.ant-col-order-5{order:5}.ant-col-4{flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-push-4{left:16.66666667%}.ant-col-pull-4{right:16.66666667%}.ant-col-offset-4{margin-left:16.66666667%}.ant-col-order-4{order:4}.ant-col-3{flex:0 0 12.5%;max-width:12.5%}.ant-col-push-3{left:12.5%}.ant-col-pull-3{right:12.5%}.ant-col-offset-3{margin-left:12.5%}.ant-col-order-3{order:3}.ant-col-2{flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-push-2{left:8.33333333%}.ant-col-pull-2{right:8.33333333%}.ant-col-offset-2{margin-left:8.33333333%}.ant-col-order-2{order:2}.ant-col-1{flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-push-1{left:4.16666667%}.ant-col-pull-1{right:4.16666667%}.ant-col-offset-1{margin-left:4.16666667%}.ant-col-order-1{order:1}.ant-col-0{display:none}.ant-col-offset-0{margin-left:0}.ant-col-order-0{order:0}.ant-col-offset-0.ant-col-rtl{margin-right:0}.ant-col-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}.ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xs-push-24{left:100%}.ant-col-xs-pull-24{right:100%}.ant-col-xs-offset-24{margin-left:100%}.ant-col-xs-order-24{order:24}.ant-col-xs-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xs-push-23{left:95.83333333%}.ant-col-xs-pull-23{right:95.83333333%}.ant-col-xs-offset-23{margin-left:95.83333333%}.ant-col-xs-order-23{order:23}.ant-col-xs-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xs-push-22{left:91.66666667%}.ant-col-xs-pull-22{right:91.66666667%}.ant-col-xs-offset-22{margin-left:91.66666667%}.ant-col-xs-order-22{order:22}.ant-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xs-push-21{left:87.5%}.ant-col-xs-pull-21{right:87.5%}.ant-col-xs-offset-21{margin-left:87.5%}.ant-col-xs-order-21{order:21}.ant-col-xs-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xs-push-20{left:83.33333333%}.ant-col-xs-pull-20{right:83.33333333%}.ant-col-xs-offset-20{margin-left:83.33333333%}.ant-col-xs-order-20{order:20}.ant-col-xs-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xs-push-19{left:79.16666667%}.ant-col-xs-pull-19{right:79.16666667%}.ant-col-xs-offset-19{margin-left:79.16666667%}.ant-col-xs-order-19{order:19}.ant-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xs-push-18{left:75%}.ant-col-xs-pull-18{right:75%}.ant-col-xs-offset-18{margin-left:75%}.ant-col-xs-order-18{order:18}.ant-col-xs-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xs-push-17{left:70.83333333%}.ant-col-xs-pull-17{right:70.83333333%}.ant-col-xs-offset-17{margin-left:70.83333333%}.ant-col-xs-order-17{order:17}.ant-col-xs-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xs-push-16{left:66.66666667%}.ant-col-xs-pull-16{right:66.66666667%}.ant-col-xs-offset-16{margin-left:66.66666667%}.ant-col-xs-order-16{order:16}.ant-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xs-push-15{left:62.5%}.ant-col-xs-pull-15{right:62.5%}.ant-col-xs-offset-15{margin-left:62.5%}.ant-col-xs-order-15{order:15}.ant-col-xs-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xs-push-14{left:58.33333333%}.ant-col-xs-pull-14{right:58.33333333%}.ant-col-xs-offset-14{margin-left:58.33333333%}.ant-col-xs-order-14{order:14}.ant-col-xs-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xs-push-13{left:54.16666667%}.ant-col-xs-pull-13{right:54.16666667%}.ant-col-xs-offset-13{margin-left:54.16666667%}.ant-col-xs-order-13{order:13}.ant-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xs-push-12{left:50%}.ant-col-xs-pull-12{right:50%}.ant-col-xs-offset-12{margin-left:50%}.ant-col-xs-order-12{order:12}.ant-col-xs-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xs-push-11{left:45.83333333%}.ant-col-xs-pull-11{right:45.83333333%}.ant-col-xs-offset-11{margin-left:45.83333333%}.ant-col-xs-order-11{order:11}.ant-col-xs-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xs-push-10{left:41.66666667%}.ant-col-xs-pull-10{right:41.66666667%}.ant-col-xs-offset-10{margin-left:41.66666667%}.ant-col-xs-order-10{order:10}.ant-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xs-push-9{left:37.5%}.ant-col-xs-pull-9{right:37.5%}.ant-col-xs-offset-9{margin-left:37.5%}.ant-col-xs-order-9{order:9}.ant-col-xs-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xs-push-8{left:33.33333333%}.ant-col-xs-pull-8{right:33.33333333%}.ant-col-xs-offset-8{margin-left:33.33333333%}.ant-col-xs-order-8{order:8}.ant-col-xs-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xs-push-7{left:29.16666667%}.ant-col-xs-pull-7{right:29.16666667%}.ant-col-xs-offset-7{margin-left:29.16666667%}.ant-col-xs-order-7{order:7}.ant-col-xs-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xs-push-6{left:25%}.ant-col-xs-pull-6{right:25%}.ant-col-xs-offset-6{margin-left:25%}.ant-col-xs-order-6{order:6}.ant-col-xs-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xs-push-5{left:20.83333333%}.ant-col-xs-pull-5{right:20.83333333%}.ant-col-xs-offset-5{margin-left:20.83333333%}.ant-col-xs-order-5{order:5}.ant-col-xs-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xs-push-4{left:16.66666667%}.ant-col-xs-pull-4{right:16.66666667%}.ant-col-xs-offset-4{margin-left:16.66666667%}.ant-col-xs-order-4{order:4}.ant-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xs-push-3{left:12.5%}.ant-col-xs-pull-3{right:12.5%}.ant-col-xs-offset-3{margin-left:12.5%}.ant-col-xs-order-3{order:3}.ant-col-xs-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xs-push-2{left:8.33333333%}.ant-col-xs-pull-2{right:8.33333333%}.ant-col-xs-offset-2{margin-left:8.33333333%}.ant-col-xs-order-2{order:2}.ant-col-xs-order-1,.ant-layout-sider-right,.ant-tabs-rtl.ant-tabs-left>.ant-tabs-nav{order:1}.ant-col-xs-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xs-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xs-pull-0.ant-col-rtl,.ant-col-xs-push-0,.ant-col-xs-push-1.ant-col-rtl{left:auto}.ant-col-xs-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xs-pull-0,.ant-col-xs-push-0.ant-col-rtl{right:auto}.ant-col-xs-offset-1{margin-left:4.16666667%}.ant-col-xs-0{display:none}.ant-col-xs-offset-0{margin-left:0}.ant-col-xs-order-0{order:0}.ant-col-xs-offset-0.ant-col-rtl{margin-right:0}.ant-col-xs-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xs-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xs-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xs-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xs-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xs-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xs-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xs-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xs-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xs-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xs-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xs-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xs-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xs-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xs-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xs-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xs-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xs-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xs-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xs-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xs-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xs-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xs-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xs-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xs-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xs-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xs-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xs-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xs-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xs-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xs-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xs-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xs-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xs-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xs-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xs-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xs-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xs-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xs-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xs-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xs-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xs-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xs-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xs-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xs-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xs-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xs-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xs-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xs-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xs-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xs-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xs-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xs-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xs-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xs-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xs-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xs-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xs-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xs-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xs-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xs-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xs-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xs-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xs-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xs-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xs-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xs-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xs-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xs-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xs-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xs-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xs-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}@media (min-width:576px){.ant-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-sm-push-24{left:100%}.ant-col-sm-pull-24{right:100%}.ant-col-sm-offset-24{margin-left:100%}.ant-col-sm-order-24{order:24}.ant-col-sm-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-sm-push-23{left:95.83333333%}.ant-col-sm-pull-23{right:95.83333333%}.ant-col-sm-offset-23{margin-left:95.83333333%}.ant-col-sm-order-23{order:23}.ant-col-sm-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-sm-push-22{left:91.66666667%}.ant-col-sm-pull-22{right:91.66666667%}.ant-col-sm-offset-22{margin-left:91.66666667%}.ant-col-sm-order-22{order:22}.ant-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-sm-push-21{left:87.5%}.ant-col-sm-pull-21{right:87.5%}.ant-col-sm-offset-21{margin-left:87.5%}.ant-col-sm-order-21{order:21}.ant-col-sm-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-sm-push-20{left:83.33333333%}.ant-col-sm-pull-20{right:83.33333333%}.ant-col-sm-offset-20{margin-left:83.33333333%}.ant-col-sm-order-20{order:20}.ant-col-sm-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-sm-push-19{left:79.16666667%}.ant-col-sm-pull-19{right:79.16666667%}.ant-col-sm-offset-19{margin-left:79.16666667%}.ant-col-sm-order-19{order:19}.ant-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-sm-push-18{left:75%}.ant-col-sm-pull-18{right:75%}.ant-col-sm-offset-18{margin-left:75%}.ant-col-sm-order-18{order:18}.ant-col-sm-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-sm-push-17{left:70.83333333%}.ant-col-sm-pull-17{right:70.83333333%}.ant-col-sm-offset-17{margin-left:70.83333333%}.ant-col-sm-order-17{order:17}.ant-col-sm-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-sm-push-16{left:66.66666667%}.ant-col-sm-pull-16{right:66.66666667%}.ant-col-sm-offset-16{margin-left:66.66666667%}.ant-col-sm-order-16{order:16}.ant-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-sm-push-15{left:62.5%}.ant-col-sm-pull-15{right:62.5%}.ant-col-sm-offset-15{margin-left:62.5%}.ant-col-sm-order-15{order:15}.ant-col-sm-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-sm-push-14{left:58.33333333%}.ant-col-sm-pull-14{right:58.33333333%}.ant-col-sm-offset-14{margin-left:58.33333333%}.ant-col-sm-order-14{order:14}.ant-col-sm-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-sm-push-13{left:54.16666667%}.ant-col-sm-pull-13{right:54.16666667%}.ant-col-sm-offset-13{margin-left:54.16666667%}.ant-col-sm-order-13{order:13}.ant-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-sm-push-12{left:50%}.ant-col-sm-pull-12{right:50%}.ant-col-sm-offset-12{margin-left:50%}.ant-col-sm-order-12{order:12}.ant-col-sm-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-sm-push-11{left:45.83333333%}.ant-col-sm-pull-11{right:45.83333333%}.ant-col-sm-offset-11{margin-left:45.83333333%}.ant-col-sm-order-11{order:11}.ant-col-sm-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-sm-push-10{left:41.66666667%}.ant-col-sm-pull-10{right:41.66666667%}.ant-col-sm-offset-10{margin-left:41.66666667%}.ant-col-sm-order-10{order:10}.ant-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-sm-push-9{left:37.5%}.ant-col-sm-pull-9{right:37.5%}.ant-col-sm-offset-9{margin-left:37.5%}.ant-col-sm-order-9{order:9}.ant-col-sm-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-sm-push-8{left:33.33333333%}.ant-col-sm-pull-8{right:33.33333333%}.ant-col-sm-offset-8{margin-left:33.33333333%}.ant-col-sm-order-8{order:8}.ant-col-sm-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-sm-push-7{left:29.16666667%}.ant-col-sm-pull-7{right:29.16666667%}.ant-col-sm-offset-7{margin-left:29.16666667%}.ant-col-sm-order-7{order:7}.ant-col-sm-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-sm-push-6{left:25%}.ant-col-sm-pull-6{right:25%}.ant-col-sm-offset-6{margin-left:25%}.ant-col-sm-order-6{order:6}.ant-col-sm-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-sm-push-5{left:20.83333333%}.ant-col-sm-pull-5{right:20.83333333%}.ant-col-sm-offset-5{margin-left:20.83333333%}.ant-col-sm-order-5{order:5}.ant-col-sm-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-sm-push-4{left:16.66666667%}.ant-col-sm-pull-4{right:16.66666667%}.ant-col-sm-offset-4{margin-left:16.66666667%}.ant-col-sm-order-4{order:4}.ant-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-sm-push-3{left:12.5%}.ant-col-sm-pull-3{right:12.5%}.ant-col-sm-offset-3{margin-left:12.5%}.ant-col-sm-order-3{order:3}.ant-col-sm-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-sm-push-2{left:8.33333333%}.ant-col-sm-pull-2{right:8.33333333%}.ant-col-sm-offset-2{margin-left:8.33333333%}.ant-col-sm-order-2{order:2}.ant-col-sm-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-sm-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-sm-pull-0.ant-col-rtl,.ant-col-sm-push-0,.ant-col-sm-push-1.ant-col-rtl{left:auto}.ant-col-sm-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-sm-pull-0,.ant-col-sm-push-0.ant-col-rtl{right:auto}.ant-col-sm-offset-1{margin-left:4.16666667%}.ant-col-sm-order-1{order:1}.ant-col-sm-0{display:none}.ant-col-sm-offset-0{margin-left:0}.ant-col-sm-order-0{order:0}.ant-col-sm-offset-0.ant-col-rtl{margin-right:0}.ant-col-sm-push-1.ant-col-rtl{right:4.16666667%}.ant-col-sm-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-sm-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-sm-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-sm-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-sm-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-sm-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-sm-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-sm-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-sm-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-sm-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-sm-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-sm-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-sm-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-sm-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-sm-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-sm-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-sm-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-sm-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-sm-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-sm-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-sm-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-sm-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-sm-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-sm-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-sm-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-sm-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-sm-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-sm-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-sm-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-sm-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-sm-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-sm-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-sm-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-sm-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-sm-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-sm-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-sm-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-sm-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-sm-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-sm-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-sm-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-sm-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-sm-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-sm-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-sm-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-sm-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-sm-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-sm-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-sm-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-sm-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-sm-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-sm-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-sm-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-sm-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-sm-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-sm-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-sm-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-sm-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-sm-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-sm-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-sm-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-sm-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-sm-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-sm-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-sm-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-sm-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-sm-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-sm-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-sm-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-sm-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-sm-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:768px){.ant-col-md-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-md-push-24{left:100%}.ant-col-md-pull-24{right:100%}.ant-col-md-offset-24{margin-left:100%}.ant-col-md-order-24{order:24}.ant-col-md-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-md-push-23{left:95.83333333%}.ant-col-md-pull-23{right:95.83333333%}.ant-col-md-offset-23{margin-left:95.83333333%}.ant-col-md-order-23{order:23}.ant-col-md-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-md-push-22{left:91.66666667%}.ant-col-md-pull-22{right:91.66666667%}.ant-col-md-offset-22{margin-left:91.66666667%}.ant-col-md-order-22{order:22}.ant-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-md-push-21{left:87.5%}.ant-col-md-pull-21{right:87.5%}.ant-col-md-offset-21{margin-left:87.5%}.ant-col-md-order-21{order:21}.ant-col-md-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-md-push-20{left:83.33333333%}.ant-col-md-pull-20{right:83.33333333%}.ant-col-md-offset-20{margin-left:83.33333333%}.ant-col-md-order-20{order:20}.ant-col-md-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-md-push-19{left:79.16666667%}.ant-col-md-pull-19{right:79.16666667%}.ant-col-md-offset-19{margin-left:79.16666667%}.ant-col-md-order-19{order:19}.ant-col-md-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-md-push-18{left:75%}.ant-col-md-pull-18{right:75%}.ant-col-md-offset-18{margin-left:75%}.ant-col-md-order-18{order:18}.ant-col-md-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-md-push-17{left:70.83333333%}.ant-col-md-pull-17{right:70.83333333%}.ant-col-md-offset-17{margin-left:70.83333333%}.ant-col-md-order-17{order:17}.ant-col-md-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-md-push-16{left:66.66666667%}.ant-col-md-pull-16{right:66.66666667%}.ant-col-md-offset-16{margin-left:66.66666667%}.ant-col-md-order-16{order:16}.ant-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-md-push-15{left:62.5%}.ant-col-md-pull-15{right:62.5%}.ant-col-md-offset-15{margin-left:62.5%}.ant-col-md-order-15{order:15}.ant-col-md-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-md-push-14{left:58.33333333%}.ant-col-md-pull-14{right:58.33333333%}.ant-col-md-offset-14{margin-left:58.33333333%}.ant-col-md-order-14{order:14}.ant-col-md-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-md-push-13{left:54.16666667%}.ant-col-md-pull-13{right:54.16666667%}.ant-col-md-offset-13{margin-left:54.16666667%}.ant-col-md-order-13{order:13}.ant-col-md-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-md-push-12{left:50%}.ant-col-md-pull-12{right:50%}.ant-col-md-offset-12{margin-left:50%}.ant-col-md-order-12{order:12}.ant-col-md-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-md-push-11{left:45.83333333%}.ant-col-md-pull-11{right:45.83333333%}.ant-col-md-offset-11{margin-left:45.83333333%}.ant-col-md-order-11{order:11}.ant-col-md-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-md-push-10{left:41.66666667%}.ant-col-md-pull-10{right:41.66666667%}.ant-col-md-offset-10{margin-left:41.66666667%}.ant-col-md-order-10{order:10}.ant-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-md-push-9{left:37.5%}.ant-col-md-pull-9{right:37.5%}.ant-col-md-offset-9{margin-left:37.5%}.ant-col-md-order-9{order:9}.ant-col-md-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-md-push-8{left:33.33333333%}.ant-col-md-pull-8{right:33.33333333%}.ant-col-md-offset-8{margin-left:33.33333333%}.ant-col-md-order-8{order:8}.ant-col-md-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-md-push-7{left:29.16666667%}.ant-col-md-pull-7{right:29.16666667%}.ant-col-md-offset-7{margin-left:29.16666667%}.ant-col-md-order-7{order:7}.ant-col-md-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-md-push-6{left:25%}.ant-col-md-pull-6{right:25%}.ant-col-md-offset-6{margin-left:25%}.ant-col-md-order-6{order:6}.ant-col-md-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-md-push-5{left:20.83333333%}.ant-col-md-pull-5{right:20.83333333%}.ant-col-md-offset-5{margin-left:20.83333333%}.ant-col-md-order-5{order:5}.ant-col-md-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-md-push-4{left:16.66666667%}.ant-col-md-pull-4{right:16.66666667%}.ant-col-md-offset-4{margin-left:16.66666667%}.ant-col-md-order-4{order:4}.ant-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-md-push-3{left:12.5%}.ant-col-md-pull-3{right:12.5%}.ant-col-md-offset-3{margin-left:12.5%}.ant-col-md-order-3{order:3}.ant-col-md-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-md-push-2{left:8.33333333%}.ant-col-md-pull-2{right:8.33333333%}.ant-col-md-offset-2{margin-left:8.33333333%}.ant-col-md-order-2{order:2}.ant-col-md-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-md-push-1{left:4.16666667%}.ant-col-md-pull-0.ant-col-rtl,.ant-col-md-push-0,.ant-col-md-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-md-pull-1{right:4.16666667%}.ant-col-md-pull-0,.ant-col-md-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-md-offset-1{margin-left:4.16666667%}.ant-col-md-order-1{order:1}.ant-col-md-0{display:none}.ant-col-md-offset-0{margin-left:0}.ant-col-md-order-0{order:0}.ant-col-md-offset-0.ant-col-rtl{margin-right:0}.ant-col-md-push-1.ant-col-rtl{right:4.16666667%}.ant-col-md-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-md-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-md-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-md-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-md-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-md-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-md-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-md-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-md-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-md-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-md-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-md-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-md-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-md-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-md-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-md-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-md-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-md-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-md-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-md-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-md-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-md-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-md-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-md-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-md-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-md-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-md-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-md-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-md-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-md-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-md-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-md-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-md-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-md-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-md-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-md-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-md-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-md-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-md-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-md-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-md-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-md-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-md-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-md-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-md-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-md-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-md-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-md-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-md-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-md-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-md-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-md-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-md-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-md-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-md-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-md-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-md-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-md-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-md-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-md-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-md-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-md-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-md-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-md-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-md-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-md-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-md-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-md-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-md-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-md-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-md-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:992px){.ant-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-lg-push-24{left:100%}.ant-col-lg-pull-24{right:100%}.ant-col-lg-offset-24{margin-left:100%}.ant-col-lg-order-24{order:24}.ant-col-lg-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-lg-push-23{left:95.83333333%}.ant-col-lg-pull-23{right:95.83333333%}.ant-col-lg-offset-23{margin-left:95.83333333%}.ant-col-lg-order-23{order:23}.ant-col-lg-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-lg-push-22{left:91.66666667%}.ant-col-lg-pull-22{right:91.66666667%}.ant-col-lg-offset-22{margin-left:91.66666667%}.ant-col-lg-order-22{order:22}.ant-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-lg-push-21{left:87.5%}.ant-col-lg-pull-21{right:87.5%}.ant-col-lg-offset-21{margin-left:87.5%}.ant-col-lg-order-21{order:21}.ant-col-lg-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-lg-push-20{left:83.33333333%}.ant-col-lg-pull-20{right:83.33333333%}.ant-col-lg-offset-20{margin-left:83.33333333%}.ant-col-lg-order-20{order:20}.ant-col-lg-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-lg-push-19{left:79.16666667%}.ant-col-lg-pull-19{right:79.16666667%}.ant-col-lg-offset-19{margin-left:79.16666667%}.ant-col-lg-order-19{order:19}.ant-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-lg-push-18{left:75%}.ant-col-lg-pull-18{right:75%}.ant-col-lg-offset-18{margin-left:75%}.ant-col-lg-order-18{order:18}.ant-col-lg-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-lg-push-17{left:70.83333333%}.ant-col-lg-pull-17{right:70.83333333%}.ant-col-lg-offset-17{margin-left:70.83333333%}.ant-col-lg-order-17{order:17}.ant-col-lg-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-lg-push-16{left:66.66666667%}.ant-col-lg-pull-16{right:66.66666667%}.ant-col-lg-offset-16{margin-left:66.66666667%}.ant-col-lg-order-16{order:16}.ant-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-lg-push-15{left:62.5%}.ant-col-lg-pull-15{right:62.5%}.ant-col-lg-offset-15{margin-left:62.5%}.ant-col-lg-order-15{order:15}.ant-col-lg-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-lg-push-14{left:58.33333333%}.ant-col-lg-pull-14{right:58.33333333%}.ant-col-lg-offset-14{margin-left:58.33333333%}.ant-col-lg-order-14{order:14}.ant-col-lg-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-lg-push-13{left:54.16666667%}.ant-col-lg-pull-13{right:54.16666667%}.ant-col-lg-offset-13{margin-left:54.16666667%}.ant-col-lg-order-13{order:13}.ant-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-lg-push-12{left:50%}.ant-col-lg-pull-12{right:50%}.ant-col-lg-offset-12{margin-left:50%}.ant-col-lg-order-12{order:12}.ant-col-lg-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-lg-push-11{left:45.83333333%}.ant-col-lg-pull-11{right:45.83333333%}.ant-col-lg-offset-11{margin-left:45.83333333%}.ant-col-lg-order-11{order:11}.ant-col-lg-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-lg-push-10{left:41.66666667%}.ant-col-lg-pull-10{right:41.66666667%}.ant-col-lg-offset-10{margin-left:41.66666667%}.ant-col-lg-order-10{order:10}.ant-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-lg-push-9{left:37.5%}.ant-col-lg-pull-9{right:37.5%}.ant-col-lg-offset-9{margin-left:37.5%}.ant-col-lg-order-9{order:9}.ant-col-lg-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-lg-push-8{left:33.33333333%}.ant-col-lg-pull-8{right:33.33333333%}.ant-col-lg-offset-8{margin-left:33.33333333%}.ant-col-lg-order-8{order:8}.ant-col-lg-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-lg-push-7{left:29.16666667%}.ant-col-lg-pull-7{right:29.16666667%}.ant-col-lg-offset-7{margin-left:29.16666667%}.ant-col-lg-order-7{order:7}.ant-col-lg-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-lg-push-6{left:25%}.ant-col-lg-pull-6{right:25%}.ant-col-lg-offset-6{margin-left:25%}.ant-col-lg-order-6{order:6}.ant-col-lg-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-lg-push-5{left:20.83333333%}.ant-col-lg-pull-5{right:20.83333333%}.ant-col-lg-offset-5{margin-left:20.83333333%}.ant-col-lg-order-5{order:5}.ant-col-lg-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-lg-push-4{left:16.66666667%}.ant-col-lg-pull-4{right:16.66666667%}.ant-col-lg-offset-4{margin-left:16.66666667%}.ant-col-lg-order-4{order:4}.ant-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-lg-push-3{left:12.5%}.ant-col-lg-pull-3{right:12.5%}.ant-col-lg-offset-3{margin-left:12.5%}.ant-col-lg-order-3{order:3}.ant-col-lg-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-lg-push-2{left:8.33333333%}.ant-col-lg-pull-2{right:8.33333333%}.ant-col-lg-offset-2{margin-left:8.33333333%}.ant-col-lg-order-2{order:2}.ant-col-lg-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-lg-push-1{left:4.16666667%}.ant-col-lg-pull-0.ant-col-rtl,.ant-col-lg-push-0,.ant-col-lg-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-lg-pull-1{right:4.16666667%}.ant-col-lg-pull-0,.ant-col-lg-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-lg-offset-1{margin-left:4.16666667%}.ant-col-lg-order-1{order:1}.ant-col-lg-0{display:none}.ant-col-lg-offset-0{margin-left:0}.ant-col-lg-order-0{order:0}.ant-col-lg-offset-0.ant-col-rtl{margin-right:0}.ant-col-lg-push-1.ant-col-rtl{right:4.16666667%}.ant-col-lg-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-lg-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-lg-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-lg-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-lg-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-lg-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-lg-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-lg-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-lg-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-lg-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-lg-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-lg-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-lg-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-lg-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-lg-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-lg-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-lg-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-lg-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-lg-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-lg-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-lg-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-lg-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-lg-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-lg-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-lg-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-lg-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-lg-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-lg-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-lg-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-lg-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-lg-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-lg-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-lg-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-lg-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-lg-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-lg-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-lg-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-lg-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-lg-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-lg-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-lg-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-lg-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-lg-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-lg-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-lg-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-lg-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-lg-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-lg-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-lg-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-lg-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-lg-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-lg-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-lg-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-lg-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-lg-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-lg-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-lg-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-lg-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-lg-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-lg-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-lg-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-lg-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-lg-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-lg-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-lg-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-lg-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-lg-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-lg-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-lg-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-lg-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-lg-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1200px){.ant-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xl-push-24{left:100%}.ant-col-xl-pull-24{right:100%}.ant-col-xl-offset-24{margin-left:100%}.ant-col-xl-order-24{order:24}.ant-col-xl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xl-push-23{left:95.83333333%}.ant-col-xl-pull-23{right:95.83333333%}.ant-col-xl-offset-23{margin-left:95.83333333%}.ant-col-xl-order-23{order:23}.ant-col-xl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xl-push-22{left:91.66666667%}.ant-col-xl-pull-22{right:91.66666667%}.ant-col-xl-offset-22{margin-left:91.66666667%}.ant-col-xl-order-22{order:22}.ant-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xl-push-21{left:87.5%}.ant-col-xl-pull-21{right:87.5%}.ant-col-xl-offset-21{margin-left:87.5%}.ant-col-xl-order-21{order:21}.ant-col-xl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xl-push-20{left:83.33333333%}.ant-col-xl-pull-20{right:83.33333333%}.ant-col-xl-offset-20{margin-left:83.33333333%}.ant-col-xl-order-20{order:20}.ant-col-xl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xl-push-19{left:79.16666667%}.ant-col-xl-pull-19{right:79.16666667%}.ant-col-xl-offset-19{margin-left:79.16666667%}.ant-col-xl-order-19{order:19}.ant-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xl-push-18{left:75%}.ant-col-xl-pull-18{right:75%}.ant-col-xl-offset-18{margin-left:75%}.ant-col-xl-order-18{order:18}.ant-col-xl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xl-push-17{left:70.83333333%}.ant-col-xl-pull-17{right:70.83333333%}.ant-col-xl-offset-17{margin-left:70.83333333%}.ant-col-xl-order-17{order:17}.ant-col-xl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xl-push-16{left:66.66666667%}.ant-col-xl-pull-16{right:66.66666667%}.ant-col-xl-offset-16{margin-left:66.66666667%}.ant-col-xl-order-16{order:16}.ant-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xl-push-15{left:62.5%}.ant-col-xl-pull-15{right:62.5%}.ant-col-xl-offset-15{margin-left:62.5%}.ant-col-xl-order-15{order:15}.ant-col-xl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xl-push-14{left:58.33333333%}.ant-col-xl-pull-14{right:58.33333333%}.ant-col-xl-offset-14{margin-left:58.33333333%}.ant-col-xl-order-14{order:14}.ant-col-xl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xl-push-13{left:54.16666667%}.ant-col-xl-pull-13{right:54.16666667%}.ant-col-xl-offset-13{margin-left:54.16666667%}.ant-col-xl-order-13{order:13}.ant-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xl-push-12{left:50%}.ant-col-xl-pull-12{right:50%}.ant-col-xl-offset-12{margin-left:50%}.ant-col-xl-order-12{order:12}.ant-col-xl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xl-push-11{left:45.83333333%}.ant-col-xl-pull-11{right:45.83333333%}.ant-col-xl-offset-11{margin-left:45.83333333%}.ant-col-xl-order-11{order:11}.ant-col-xl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xl-push-10{left:41.66666667%}.ant-col-xl-pull-10{right:41.66666667%}.ant-col-xl-offset-10{margin-left:41.66666667%}.ant-col-xl-order-10{order:10}.ant-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xl-push-9{left:37.5%}.ant-col-xl-pull-9{right:37.5%}.ant-col-xl-offset-9{margin-left:37.5%}.ant-col-xl-order-9{order:9}.ant-col-xl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xl-push-8{left:33.33333333%}.ant-col-xl-pull-8{right:33.33333333%}.ant-col-xl-offset-8{margin-left:33.33333333%}.ant-col-xl-order-8{order:8}.ant-col-xl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xl-push-7{left:29.16666667%}.ant-col-xl-pull-7{right:29.16666667%}.ant-col-xl-offset-7{margin-left:29.16666667%}.ant-col-xl-order-7{order:7}.ant-col-xl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xl-push-6{left:25%}.ant-col-xl-pull-6{right:25%}.ant-col-xl-offset-6{margin-left:25%}.ant-col-xl-order-6{order:6}.ant-col-xl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xl-push-5{left:20.83333333%}.ant-col-xl-pull-5{right:20.83333333%}.ant-col-xl-offset-5{margin-left:20.83333333%}.ant-col-xl-order-5{order:5}.ant-col-xl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xl-push-4{left:16.66666667%}.ant-col-xl-pull-4{right:16.66666667%}.ant-col-xl-offset-4{margin-left:16.66666667%}.ant-col-xl-order-4{order:4}.ant-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xl-push-3{left:12.5%}.ant-col-xl-pull-3{right:12.5%}.ant-col-xl-offset-3{margin-left:12.5%}.ant-col-xl-order-3{order:3}.ant-col-xl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xl-push-2{left:8.33333333%}.ant-col-xl-pull-2{right:8.33333333%}.ant-col-xl-offset-2{margin-left:8.33333333%}.ant-col-xl-order-2{order:2}.ant-col-xl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xl-pull-0.ant-col-rtl,.ant-col-xl-push-0,.ant-col-xl-push-1.ant-col-rtl{left:auto}.ant-col-xl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xl-pull-0,.ant-col-xl-push-0.ant-col-rtl{right:auto}.ant-col-xl-offset-1{margin-left:4.16666667%}.ant-col-xl-order-1{order:1}.ant-col-xl-0{display:none}.ant-col-xl-offset-0{margin-left:0}.ant-col-xl-order-0{order:0}.ant-col-xl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1600px){.ant-col-xxl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xxl-push-24{left:100%}.ant-col-xxl-pull-24{right:100%}.ant-col-xxl-offset-24{margin-left:100%}.ant-col-xxl-order-24{order:24}.ant-col-xxl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xxl-push-23{left:95.83333333%}.ant-col-xxl-pull-23{right:95.83333333%}.ant-col-xxl-offset-23{margin-left:95.83333333%}.ant-col-xxl-order-23{order:23}.ant-col-xxl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xxl-push-22{left:91.66666667%}.ant-col-xxl-pull-22{right:91.66666667%}.ant-col-xxl-offset-22{margin-left:91.66666667%}.ant-col-xxl-order-22{order:22}.ant-col-xxl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xxl-push-21{left:87.5%}.ant-col-xxl-pull-21{right:87.5%}.ant-col-xxl-offset-21{margin-left:87.5%}.ant-col-xxl-order-21{order:21}.ant-col-xxl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xxl-push-20{left:83.33333333%}.ant-col-xxl-pull-20{right:83.33333333%}.ant-col-xxl-offset-20{margin-left:83.33333333%}.ant-col-xxl-order-20{order:20}.ant-col-xxl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xxl-push-19{left:79.16666667%}.ant-col-xxl-pull-19{right:79.16666667%}.ant-col-xxl-offset-19{margin-left:79.16666667%}.ant-col-xxl-order-19{order:19}.ant-col-xxl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xxl-push-18{left:75%}.ant-col-xxl-pull-18{right:75%}.ant-col-xxl-offset-18{margin-left:75%}.ant-col-xxl-order-18{order:18}.ant-col-xxl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xxl-push-17{left:70.83333333%}.ant-col-xxl-pull-17{right:70.83333333%}.ant-col-xxl-offset-17{margin-left:70.83333333%}.ant-col-xxl-order-17{order:17}.ant-col-xxl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xxl-push-16{left:66.66666667%}.ant-col-xxl-pull-16{right:66.66666667%}.ant-col-xxl-offset-16{margin-left:66.66666667%}.ant-col-xxl-order-16{order:16}.ant-col-xxl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xxl-push-15{left:62.5%}.ant-col-xxl-pull-15{right:62.5%}.ant-col-xxl-offset-15{margin-left:62.5%}.ant-col-xxl-order-15{order:15}.ant-col-xxl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xxl-push-14{left:58.33333333%}.ant-col-xxl-pull-14{right:58.33333333%}.ant-col-xxl-offset-14{margin-left:58.33333333%}.ant-col-xxl-order-14{order:14}.ant-col-xxl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xxl-push-13{left:54.16666667%}.ant-col-xxl-pull-13{right:54.16666667%}.ant-col-xxl-offset-13{margin-left:54.16666667%}.ant-col-xxl-order-13{order:13}.ant-col-xxl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xxl-push-12{left:50%}.ant-col-xxl-pull-12{right:50%}.ant-col-xxl-offset-12{margin-left:50%}.ant-col-xxl-order-12{order:12}.ant-col-xxl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xxl-push-11{left:45.83333333%}.ant-col-xxl-pull-11{right:45.83333333%}.ant-col-xxl-offset-11{margin-left:45.83333333%}.ant-col-xxl-order-11{order:11}.ant-col-xxl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xxl-push-10{left:41.66666667%}.ant-col-xxl-pull-10{right:41.66666667%}.ant-col-xxl-offset-10{margin-left:41.66666667%}.ant-col-xxl-order-10{order:10}.ant-col-xxl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xxl-push-9{left:37.5%}.ant-col-xxl-pull-9{right:37.5%}.ant-col-xxl-offset-9{margin-left:37.5%}.ant-col-xxl-order-9{order:9}.ant-col-xxl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xxl-push-8{left:33.33333333%}.ant-col-xxl-pull-8{right:33.33333333%}.ant-col-xxl-offset-8{margin-left:33.33333333%}.ant-col-xxl-order-8{order:8}.ant-col-xxl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xxl-push-7{left:29.16666667%}.ant-col-xxl-pull-7{right:29.16666667%}.ant-col-xxl-offset-7{margin-left:29.16666667%}.ant-col-xxl-order-7{order:7}.ant-col-xxl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xxl-push-6{left:25%}.ant-col-xxl-pull-6{right:25%}.ant-col-xxl-offset-6{margin-left:25%}.ant-col-xxl-order-6{order:6}.ant-col-xxl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xxl-push-5{left:20.83333333%}.ant-col-xxl-pull-5{right:20.83333333%}.ant-col-xxl-offset-5{margin-left:20.83333333%}.ant-col-xxl-order-5{order:5}.ant-col-xxl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xxl-push-4{left:16.66666667%}.ant-col-xxl-pull-4{right:16.66666667%}.ant-col-xxl-offset-4{margin-left:16.66666667%}.ant-col-xxl-order-4{order:4}.ant-col-xxl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xxl-push-3{left:12.5%}.ant-col-xxl-pull-3{right:12.5%}.ant-col-xxl-offset-3{margin-left:12.5%}.ant-col-xxl-order-3{order:3}.ant-col-xxl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xxl-push-2{left:8.33333333%}.ant-col-xxl-pull-2{right:8.33333333%}.ant-col-xxl-offset-2{margin-left:8.33333333%}.ant-col-xxl-order-2{order:2}.ant-col-xxl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xxl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xxl-pull-0.ant-col-rtl,.ant-col-xxl-push-0,.ant-col-xxl-push-1.ant-col-rtl{left:auto}.ant-col-xxl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xxl-pull-0,.ant-col-xxl-push-0.ant-col-rtl{right:auto}.ant-col-xxl-offset-1{margin-left:4.16666667%}.ant-col-xxl-order-1{order:1}.ant-col-xxl-0{display:none}.ant-col-xxl-offset-0{margin-left:0}.ant-col-xxl-order-0{order:0}.ant-col-xxl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xxl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xxl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xxl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xxl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xxl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xxl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xxl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xxl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xxl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xxl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xxl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xxl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xxl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xxl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xxl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xxl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xxl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xxl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xxl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xxl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xxl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xxl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xxl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xxl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xxl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xxl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xxl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xxl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xxl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xxl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xxl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xxl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xxl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xxl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xxl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xxl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xxl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xxl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xxl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xxl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xxl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xxl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xxl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xxl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xxl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xxl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xxl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xxl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xxl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xxl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xxl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xxl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xxl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xxl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xxl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xxl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xxl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xxl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xxl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xxl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xxl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xxl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xxl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xxl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xxl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xxl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xxl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xxl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xxl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xxl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xxl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xxl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}.ant-input-affix-wrapper{position:relative;width:100%;padding:3px 7px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;display:inline-flex}.ant-input-affix-wrapper-disabled,.ant-input-affix-wrapper[disabled]{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none;opacity:1}.ant-input-affix-wrapper::-moz-placeholder{opacity:1}.ant-input-affix-wrapper::placeholder{color:#bfbfbf}.ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis}.ant-input-affix-wrapper:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-input-affix-wrapper:hover{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-input-affix-wrapper-focused,.ant-input-rtl .ant-input-affix-wrapper:focus{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-disabled:hover,.ant-input-affix-wrapper[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-affix-wrapper-disabled{color:rgba(0,0,0,.25)}.ant-input-affix-wrapper[disabled]{color:rgba(0,0,0,.25)}.ant-input-affix-wrapper-borderless,.ant-input-affix-wrapper-borderless-disabled,.ant-input-affix-wrapper-borderless-focused,.ant-input-affix-wrapper-borderless:focus,.ant-input-affix-wrapper-borderless:hover,.ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-affix-wrapper{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-affix-wrapper-lg{padding:3.4px 11px;font-size:14px}.ant-input-affix-wrapper-sm{padding:0 7px}.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#40a9ff;border-right-width:1px!important;z-index:1}.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-right-width:0;border-left-width:1px!important}.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{z-index:1}.ant-input-affix-wrapper-disabled .ant-input[disabled]{background:0 0}.ant-input-affix-wrapper>input.ant-input{padding:0;border:none;outline:0}.ant-input-affix-wrapper>input.ant-input:focus{box-shadow:none}.ant-input-affix-wrapper::before{width:0;visibility:hidden;content:'\a0'}.ant-input-prefix,.ant-input-suffix{display:flex;flex:none;align-items:center}.ant-input-prefix{margin-right:4px}.ant-input-suffix{margin-left:4px}.ant-input-clear-icon{margin:0 4px;color:rgba(0,0,0,.25);font-size:12px;vertical-align:-1px;cursor:pointer;transition:color .3s}.ant-input,.ant-input-group{margin:0;line-height:1.66667;width:100%;list-style:none;font-variant:tabular-nums;box-sizing:border-box;font-feature-settings:tnum}.ant-input-clear-icon:hover{color:rgba(0,0,0,.45)}.ant-input,.ant-input-clear-icon:active{color:rgba(0,0,0,.85)}.ant-input-clear-icon-hidden{visibility:hidden}.ant-input-clear-icon:last-child{margin-right:0}.ant-input-affix-wrapper-textarea-with-clear-btn{padding:0!important;border:0!important}.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon{position:absolute;top:8px;right:8px;z-index:1}.ant-input{position:relative;display:inline-block;padding:3px 7px;font-size:12px;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input::-moz-placeholder{opacity:1}.ant-input::placeholder{color:#bfbfbf}.ant-input-disabled,.ant-input[disabled]{background-color:#f5f5f5;cursor:not-allowed;color:rgba(0,0,0,.25);opacity:1;pointer-events:none}.ant-input:placeholder-shown{text-overflow:ellipsis}.ant-input:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-input:hover{border-right-width:0;border-left-width:1px!important}.ant-input-focused,.ant-input:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-input-focused,.ant-input-rtl .ant-input:focus{border-right-width:0;border-left-width:1px!important}.ant-input-disabled:hover,.ant-input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-group,.ant-input-group-addon{color:rgba(0,0,0,.85);position:relative}.ant-input-borderless,.ant-input-borderless-disabled,.ant-input-borderless-focused,.ant-input-borderless:focus,.ant-input-borderless:hover,.ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-lg{padding:3.4px 11px;font-size:14px}.ant-input-sm{padding:0 7px}.ant-input-group{padding:0;font-size:12px;display:table;border-collapse:separate;border-spacing:0}.ant-input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.ant-input-group>[class*=col-]{padding-right:8px}.ant-input-group>[class*=col-]:last-child{padding-right:0}.ant-input-group-addon,.ant-input-group-wrap,.ant-input-group>.ant-input{display:table-cell}.ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group-wrap:not(:first-child):not(:last-child),.ant-input-group>.ant-input:not(:first-child):not(:last-child){border-radius:0}.ant-input-group-addon,.ant-input-group-wrap{width:1px;white-space:nowrap;vertical-align:middle}.ant-input-group-wrap>*{display:block!important}.ant-input-group .ant-input{float:left;width:100%;margin-bottom:0;text-align:inherit}.ant-input-group .ant-input:focus,.ant-input-group .ant-input:hover{z-index:1;border-right-width:1px}.ant-input-search-with-button .ant-input-group .ant-input:hover{z-index:0}.ant-input-group-addon{padding:0 7px;font-weight:400;font-size:12px;text-align:center;background-color:#fafafa;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input-group-addon .ant-select{margin:-4px -7px}.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none}.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-addon:last-child,.ant-input-group-addon:last-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:first-child) .ant-input,.ant-input-group>.ant-input:last-child,.ant-input-group>.ant-input:last-child .ant-select .ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-addon:first-child,.ant-input-group-addon:first-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:last-child) .ant-input,.ant-input-group>.ant-input:first-child,.ant-input-group>.ant-input:first-child .ant-select .ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-focused,.ant-input-number:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}.ant-input-group-addon .ant-select-focused .ant-select-selector,.ant-input-group-addon .ant-select-open .ant-select-selector{color:#1890ff}.ant-input-group-addon:first-child{border-right:0}.ant-input-group-addon:last-child{border-left:0}.ant-input-group-lg .ant-input,.ant-input-group-lg>.ant-input-group-addon{padding:3.4px 11px;font-size:14px}.ant-input-group-sm .ant-input,.ant-input-group-sm>.ant-input-group-addon{padding:0 7px}.ant-input-group-lg .ant-select-single .ant-select-selector{height:32px}.ant-input-group-sm .ant-select-single .ant-select-selector{height:22px}.ant-input-search-button,.ant-input[type=color]{height:28px}.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child){border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact{display:block}.ant-input-group.ant-input-group-compact::after,.ant-input-group.ant-input-group-compact::before{display:table;content:''}.ant-input-group.ant-input-group-compact::after{clear:both}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child){border-right-width:1px}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):hover{z-index:1}.ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex}.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:-1px;border-right-width:1px}.ant-input-group.ant-input-group-compact .ant-input{float:none}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector{border-right-width:1px;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-focused,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover{z-index:1}.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:last-child{border-right-width:1px;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-left:-1px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:2px 0 0 2px}.ant-input-group-rtl .ant-input-group-addon:first-child,.ant-input-group>.ant-input-rtl:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl .ant-input-group-addon:first-child{border-right:1px solid #d9d9d9;border-left:0}.ant-input-group-rtl .ant-input-group-addon:last-child{border-right:0;border-left:1px solid #d9d9d9}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-rtl.ant-input-group-addon:last-child,.ant-input-group-rtl.ant-input-group>.ant-input:last-child{border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:0;margin-left:-1px;border-left-width:1px}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:last-child{border-left-width:1px;border-radius:2px 0 0 2px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl+.ant-input-group-wrapper-rtl{margin-right:-1px;margin-left:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:0 2px 2px 0}.ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top}.ant-input-password-icon{color:rgba(0,0,0,.45);cursor:pointer;transition:all .3s}.ant-input-password-icon:hover{color:rgba(0,0,0,.85)}.ant-input[type=color].ant-input-lg{height:32px}.ant-input[type=color].ant-input-sm{height:22px;padding-top:3px;padding-bottom:3px}.ant-input-textarea-show-count::after{float:right;color:rgba(0,0,0,.45);white-space:nowrap;content:attr(data-count);pointer-events:none}.ant-input-search .ant-input:focus,.ant-input-search .ant-input:hover{border-color:#40a9ff}.ant-input-search .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-left-color:#40a9ff}.ant-input-search .ant-input-affix-wrapper{border-radius:0}.ant-input-search .ant-input-lg{line-height:1.66647}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child{left:-1px;padding:0;border:0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-radius:0 2px 2px 0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:rgba(0,0,0,.45)}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before{top:0;right:0;bottom:0;left:0}.ant-input-search-button:focus,.ant-input-search-button:hover{z-index:1}.ant-input-search-large .ant-input-search-button{height:32px}.ant-input-search-small .ant-input-search-button{height:22px}.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl>input.ant-input{border:none;outline:0}.ant-input-affix-wrapper-rtl .ant-input-prefix{margin:0 0 0 4px}.ant-input-affix-wrapper-rtl .ant-input-suffix{margin:0 4px 0 0}.ant-input-textarea-rtl.ant-input-textarea-show-count::after{text-align:left}.ant-input-affix-wrapper-rtl .ant-input-clear-icon:last-child{margin-right:4px;margin-left:0}.ant-input-affix-wrapper-rtl .ant-input-clear-icon{right:auto;left:8px}.ant-input-search-rtl .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search-rtl .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-right-color:#40a9ff;border-left-color:#d9d9d9}.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper-focused,.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper:hover{border-right-color:#40a9ff}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon{right:-1px;left:auto}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon .ant-input-search-button{border-radius:2px 0 0 2px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-input{height:28px}.ant-input-lg{height:32px}.ant-input-sm{height:22px}.ant-input-affix-wrapper>input.ant-input{height:auto}}textarea.nz-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only{width:28px;height:28px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm{width:22px;height:22px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg{width:32px;height:32px}.ant-input-number{box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;background-image:none;transition:all .3s;display:inline-block;width:90px;margin:0;padding:0;border:1px solid #d9d9d9;border-radius:2px}.ant-input-number::-moz-placeholder{opacity:1}.ant-input-number::placeholder{color:#bfbfbf}.ant-input-number:placeholder-shown{text-overflow:ellipsis}.ant-input-rtl .ant-input-number:hover{border-right-width:0;border-left-width:1px!important}.ant-input-number-focused,.ant-input-number:focus{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-input-number-focused,.ant-input-rtl .ant-input-number:focus{border-right-width:0;border-left-width:1px!important}.ant-input-number[disabled]{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-input-number[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-number-borderless,.ant-input-number-borderless-disabled,.ant-input-number-borderless-focused,.ant-input-number-borderless:focus,.ant-input-number-borderless:hover,.ant-input-number-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}.ant-input-number-focused,.ant-input-number:hover{border-color:#40a9ff;border-right-width:1px!important}textarea.ant-input-number{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-number-handler{position:relative;display:block;width:100%;height:50%;overflow:hidden;color:rgba(0,0,0,.45);font-weight:700;line-height:0;text-align:center;transition:all .1s linear}.ant-input-number-handler:active{background:#f4f4f4}.ant-input-number-handler:hover .ant-input-number-handler-down-inner,.ant-input-number-handler:hover .ant-input-number-handler-up-inner{color:#40a9ff}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner{display:inline-block;color:inherit;font-style:normal;text-transform:none;vertical-align:-.125em;position:absolute;right:4px;width:12px;height:12px;color:rgba(0,0,0,.45);line-height:12px;transition:all .1s linear;user-select:none}.ant-input-number-handler-down-inner>*,.ant-input-number-handler-up-inner>*{line-height:1}.ant-input-number-handler-down-inner svg,.ant-input-number-handler-up-inner svg{display:inline-block}.ant-input-number-handler-down-inner::before,.ant-input-number-handler-up-inner::before{display:none}.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon{display:block}.ant-input-number:hover+.ant-form-item-children-icon{opacity:0;transition:opacity .24s linear .24s}.ant-input-rtl .ant-input-number-focused{border-right-width:0;border-left-width:1px!important}.ant-input-number-disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-input-number-disabled:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-number-disabled .ant-input-number-input{cursor:not-allowed}.ant-input-number-disabled .ant-input-number-handler-wrap,.ant-input-number-readonly .ant-input-number-handler-wrap{display:none}.ant-input-number-input{width:100%;height:26px;padding:0 7px;text-align:left;background-color:transparent;border:0;border-radius:2px;outline:0;transition:all .3s linear;-moz-appearance:textfield!important}.ant-input-number-input::-moz-placeholder{opacity:1}.ant-input-number-input::placeholder{color:#bfbfbf}.ant-input-number-input:placeholder-shown{text-overflow:ellipsis}.ant-input-number-input[type=number]::-webkit-inner-spin-button,.ant-input-number-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.ant-input-number-lg{padding:0;font-size:14px}.ant-input-number-lg input{height:30px}.ant-input-number-sm{padding:0}.ant-input-number-sm input{height:20px;padding:0 7px}.ant-input-number-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#fff;border-left:1px solid #d9d9d9;border-radius:0 2px 2px 0;opacity:0;transition:opacity .24s linear .1s}.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner,.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner{min-width:auto;margin-right:0;font-size:7px}.ant-input-number-borderless .ant-input-number-handler-wrap{border-left-width:0}.ant-input-number-handler-wrap:hover .ant-input-number-handler{height:40%}.ant-input-number-handler-down:hover,.ant-input-number-handler-up:hover{height:60%!important}.ant-input-number:hover .ant-input-number-handler-wrap{opacity:1}.ant-input-number-handler-up{border-top-right-radius:2px;cursor:pointer}.ant-input-number-handler-up-inner{top:50%;margin-top:-5px;text-align:center}.ant-input-number-handler-down{top:0;border-top:1px solid #d9d9d9;border-bottom-right-radius:2px;cursor:pointer}.ant-input-number-handler-down-inner{top:50%;text-align:center;transform:translateY(-50%)}.ant-input-number-borderless .ant-input-number-handler-down{border-top-width:0}.ant-input-number-handler-down-disabled,.ant-input-number-handler-up-disabled{cursor:not-allowed}.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner,.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner{color:rgba(0,0,0,.25)}.ant-input-number-borderless{box-shadow:none}.ant-input-number-out-of-range input{color:#ff4d4f}.ant-input-number-rtl .ant-input-number-handler-wrap{right:auto;left:0;border-right:1px solid #d9d9d9;border-left:0;border-radius:2px 0 0 2px}.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap{border-right-width:0}.ant-input-number-rtl .ant-input-number-input{direction:ltr;text-align:right}.ant-form-rtl,.ant-layout-rtl,.ant-list-rtl,.ant-list-rtl .ReactVirtualized__List .ant-list-item,.ant-mention-wrapper .ant-mention-editor-rtl,.ant-menu.ant-menu-rtl,.ant-message-rtl,.ant-message-rtl span,.ant-modal-wrap-rtl,.ant-modal-wrap-rtl .ant-modal-confirm-body,.ant-notification-rtl,.ant-page-header-rtl,.ant-pagination-options-quick-jumper input-rtl,.ant-popover-rtl,.ant-progress-rtl,.ant-radio-group.ant-radio-group-rtl,.ant-radio-wrapper.ant-radio-wrapper-rtl,.ant-rate-rtl,.ant-select-dropdown-rtl,.ant-select-rtl,.ant-skeleton-rtl,.ant-slider-rtl,.ant-spin-rtl{direction:rtl}.ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:#f0f2f5}.ant-layout,.ant-layout *{box-sizing:border-box}.ant-layout.ant-layout-has-sider{flex-direction:row}.ant-layout.ant-layout-has-sider>.ant-layout,.ant-layout.ant-layout-has-sider>.ant-layout-content{width:0}.ant-layout-footer,.ant-layout-header{flex:0 0 auto}.ant-layout-header{height:64px;padding:0 50px;color:rgba(0,0,0,.85);line-height:64px;background:#001529}.ant-layout-footer{padding:24px 50px;color:rgba(0,0,0,.85);font-size:12px;background:#f0f2f5}.ant-layout-content{flex:auto;min-height:0}.ant-layout-sider{position:relative;min-width:0;background:#001529;transition:all .2s}.ant-layout-sider-children{height:100%;margin-top:-.1px;padding-top:.1px}.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed{width:auto}.ant-layout-sider-has-trigger{padding-bottom:48px}.ant-layout-sider-trigger{position:fixed;bottom:0;z-index:1;height:48px;color:#fff;line-height:48px;text-align:center;background:#002140;cursor:pointer;transition:all .2s}.ant-layout-sider-zero-width>*{overflow:hidden}.ant-layout-sider-zero-width-trigger{position:absolute;top:64px;right:-36px;z-index:1;width:36px;height:42px;color:#fff;font-size:18px;line-height:42px;text-align:center;background:#001529;border-radius:0 2px 2px 0;cursor:pointer;transition:background .3s ease}.ant-layout-sider-zero-width-trigger::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;transition:all .3s;content:''}.ant-layout-sider-zero-width-trigger:hover::after{background:rgba(255,255,255,.1)}.ant-layout-sider-zero-width-trigger-right{left:-36px;border-radius:2px 0 0 2px}.ant-layout-sider-light{background:#fff}.ant-layout-sider-light .ant-layout-sider-trigger,.ant-layout-sider-light .ant-layout-sider-zero-width-trigger{color:rgba(0,0,0,.85);background:#fff}nz-content,nz-footer,nz-header{display:block}.ant-form-item .ant-mentions,.ant-form-item textarea.ant-input{height:auto}.ant-form-item .ant-upload{background:0 0}.ant-form-item .ant-upload.ant-upload-drag{background:#fafafa}.ant-form-item input[type=radio],.ant-form-item input[type=checkbox]{width:14px;height:14px}.ant-form-item .ant-checkbox-inline,.ant-form-item .ant-radio-inline{display:inline-block;margin-left:8px;font-weight:400;vertical-align:middle;cursor:pointer}.ant-form-item .ant-checkbox-inline:first-child,.ant-form-item .ant-checkbox-vertical+.ant-checkbox-vertical,.ant-form-item .ant-radio-inline:first-child,.ant-form-item .ant-radio-vertical+.ant-radio-vertical{margin-left:0}.ant-form-item .ant-checkbox-vertical,.ant-form-item .ant-radio-vertical{display:block}.ant-form-item .ant-input-number+.ant-form-text{margin-left:8px}.ant-form-item .ant-input-number-handler-wrap{z-index:2}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100%}.ant-form-item .ant-input-group .ant-cascader-picker,.ant-form-item .ant-input-group .ant-select,.ant-form-item .ant-picker-calendar-month-select,.ant-form-item .ant-picker-calendar-year-select,.ant-modal{width:auto}.ant-form-inline{display:flex;flex-wrap:wrap}.ant-form-inline .ant-form-item{flex:none;flex-wrap:nowrap;margin-right:16px;margin-bottom:0}.ant-form-inline .ant-form-item-with-help{margin-bottom:16px}.ant-form-inline .ant-form-item>.ant-form-item-control,.ant-form-inline .ant-form-item>.ant-form-item-label{display:inline-block;vertical-align:top}.ant-form-inline .ant-form-item>.ant-form-item-label{flex:none}.ant-form-inline .ant-form-item .ant-form-item-has-feedback,.ant-form-inline .ant-form-item .ant-form-text{display:inline-block}.ant-form-horizontal .ant-form-item-label{flex-grow:0}.ant-form-horizontal .ant-form-item-control{flex:1 1 0}.ant-form-vertical .ant-form-item{flex-direction:column}.ant-form-vertical .ant-form-item-label>label{height:auto}.ant-col-24.ant-form-item-label,.ant-col-xl-24.ant-form-item-label,.ant-form-vertical .ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-24.ant-form-item-label>label,.ant-col-xl-24.ant-form-item-label>label,.ant-form-vertical .ant-form-item-label>label{margin:0}.ant-col-24.ant-form-item-label>label::after,.ant-col-xl-24.ant-form-item-label>label::after,.ant-form-vertical .ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-24.ant-form-item-label,.ant-form-rtl.ant-col-xl-24.ant-form-item-label,.ant-form-rtl.ant-form-vertical .ant-form-item-label{text-align:right}@media (max-width:575px){.ant-col-xs-24.ant-form-item-label>label,.ant-form-item .ant-form-item-label>label{margin:0}.ant-col-xs-24.ant-form-item-label>label::after,.ant-form-item .ant-form-item-label>label::after{display:none}.ant-form-item .ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-form-rtl.ant-form-item .ant-form-item-label{text-align:right}.ant-form .ant-form-item{flex-wrap:wrap}.ant-form .ant-form-item .ant-form-item-control,.ant-form .ant-form-item .ant-form-item-label{flex:0 0 100%;max-width:100%}.ant-col-xs-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-form-rtl.ant-col-xs-24.ant-form-item-label{text-align:right}}@media (max-width:767px){.ant-col-sm-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-sm-24.ant-form-item-label>label{margin:0}.ant-col-sm-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-sm-24.ant-form-item-label{text-align:right}}@media (max-width:991px){.ant-col-md-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-md-24.ant-form-item-label>label{margin:0}.ant-col-md-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-md-24.ant-form-item-label{text-align:right}}@media (max-width:1199px){.ant-col-lg-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-lg-24.ant-form-item-label>label{margin:0}.ant-col-lg-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-lg-24.ant-form-item-label{text-align:right}}@media (max-width:1599px){.ant-col-xl-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-xl-24.ant-form-item-label>label{margin:0}.ant-col-xl-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-xl-24.ant-form-item-label{text-align:right}}.ant-form-item-explain.ant-form-item-explain-error{color:#ff4d4f}.ant-form-item-explain.ant-form-item-explain-warning{color:#faad14}.ant-form-item-has-feedback .ant-input{padding-right:24px}.ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:18px}.ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:28px}.ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-item-has-feedback>.ant-select .ant-select-clear{right:32px}.ant-form-item-has-feedback .ant-switch{margin:2px 0 4px}.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:42px}.ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:19px}.ant-form-item-has-feedback .ant-picker{padding-right:22.6px}.ant-form-item-has-feedback .ant-picker-large{padding-right:26.6px}.ant-form-item-has-feedback .ant-picker-small{padding-right:22.6px}.ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{position:absolute;top:50%;right:0;z-index:1;width:28px;height:20px;margin-top:-10px;font-size:12px;line-height:20px;text-align:center;visibility:visible;animation:zoomIn .3s cubic-bezier(.12,.4,.29,1.46);pointer-events:none}.ant-notification .notification-fade-effect,.ant-notification-fade-appear,.ant-notification-fade-enter,.ant-notification-fade-leave,.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-timing-function:cubic-bezier(.645,.045,.355,1)}.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon{color:#52c41a;animation-name:diffZoomIn1!important}.ant-form-item-has-warning .ant-form-item-split{color:#faad14}.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled),.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):hover{background-color:#fff;border-color:#faad14}.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):focus{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-warning .ant-input-prefix{color:#faad14}.ant-form-item-has-warning .ant-input-group-addon{color:#faad14;border-color:#faad14}.ant-form-item-has-warning .has-feedback{color:#faad14}.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon{color:#faad14;animation-name:diffZoomIn3!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:#fff;border-color:#faad14!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-warning .ant-input-number,.ant-form-item-has-warning .ant-picker{background-color:#fff;border-color:#faad14}.ant-form-item-has-warning .ant-input-number-focused,.ant-form-item-has-warning .ant-input-number:focus,.ant-form-item-has-warning .ant-picker-focused,.ant-form-item-has-warning .ant-picker:focus{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-warning .ant-input-number:not([disabled]):hover,.ant-form-item-has-warning .ant-picker:not([disabled]):hover{background-color:#fff;border-color:#faad14}.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-error .ant-form-item-split{color:#ff4d4f}.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-error .ant-input:not(.ant-input-disabled),.ant-form-item-has-error .ant-input:not(.ant-input-disabled):hover{background-color:#fff;border-color:#ff4d4f}.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-error .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-error .ant-input:not(.ant-input-disabled):focus{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-input-prefix{color:#ff4d4f}.ant-form-item-has-error .ant-input-group-addon{color:#ff4d4f;border-color:#ff4d4f}.ant-form-item-has-error .has-feedback{color:#ff4d4f}.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon{color:#ff4d4f;animation-name:diffZoomIn2!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:#fff;border-color:#ff4d4f!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:0;box-shadow:none}.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus{border-color:#ff4d4f}.ant-form-item-has-error .ant-input-number,.ant-form-item-has-error .ant-picker{background-color:#fff;border-color:#ff4d4f}.ant-form-item-has-error .ant-input-number-focused,.ant-form-item-has-error .ant-input-number:focus,.ant-form-item-has-error .ant-picker-focused,.ant-form-item-has-error .ant-picker:focus{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-input-number:not([disabled]):hover,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover,.ant-form-item-has-error .ant-picker:not([disabled]):hover{background-color:#fff;border-color:#ff4d4f}.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus,.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-cascader-picker:hover .ant-cascader-picker-label:hover+.ant-cascader-input.ant-input{border-color:#ff4d4f}.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input{background-color:#fff;border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-transfer-list{border-color:#ff4d4f}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]){border-color:#d9d9d9}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-radio-button-wrapper{border-color:#ff4d4f!important}.ant-form-item-has-error .ant-radio-button-wrapper:not(:first-child)::before{background-color:#ff4d4f}.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon{display:inline-block;color:#1890ff}.ant-form{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum}.ant-form legend{display:block;width:100%;margin-bottom:20px;padding:0;color:rgba(0,0,0,.45);font-size:14px;line-height:inherit;border:0;border-bottom:1px solid #d9d9d9}.ant-form label{font-size:12px}.ant-form input[type=search]{box-sizing:border-box}.ant-form input[type=radio],.ant-form input[type=checkbox]{line-height:normal}.ant-form input[type=file]{display:block}.ant-form input[type=range]{display:block;width:100%}.ant-form select[multiple],.ant-form select[size]{height:auto}.ant-form input[type=radio]:focus,.ant-form input[type=checkbox]:focus,.ant-form input[type=file]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ant-form output{display:block;padding-top:15px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667}.ant-form .ant-form-text{display:inline-block;padding-right:8px}.ant-form-small .ant-form-item-label>label{height:22px}.ant-form-small .ant-form-item-control-input{min-height:22px}.ant-form-large .ant-form-item-label>label{height:32px}.ant-form-large .ant-form-item-control-input{min-height:32px}.ant-form-item{box-sizing:border-box;margin:0 0 16px;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;vertical-align:top}.ant-form-item-with-help{margin-bottom:0}.ant-form-item-hidden,.ant-form-item-hidden.ant-row{display:none}.ant-form-item-label{display:inline-block;flex-grow:0;overflow:hidden;white-space:nowrap;text-align:right;vertical-align:middle}.ant-form-item-label-left,.ant-form-rtl .ant-form-item-label{text-align:left}.ant-form-item-label>label{position:relative;display:inline-flex;align-items:center;height:28px;color:rgba(0,0,0,.85);font-size:12px}.ant-form-item-label>label>.anticon{font-size:12px;vertical-align:top}.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:12px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.ant-form-hide-required-mark .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:none}.ant-form-item-label>label .ant-form-item-optional{display:inline-block;margin-left:0;color:rgba(0,0,0,.45)}.ant-form-hide-required-mark .ant-form-item-label>label .ant-form-item-optional{display:none}.ant-form-item-label>label .ant-form-item-tooltip{color:rgba(0,0,0,.45);cursor:help;writing-mode:horizontal-tb;margin-inline-start:0}.ant-form-item-label>label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-form-item-label>label.ant-form-item-no-colon::after,.ant-menu-submenu-popup::before{content:' '}.ant-form-item-control{display:flex;flex-direction:column;flex-grow:1}.ant-form-item-control:first-child:not([class^=ant-col-]):not([class*=' ant-col-']){width:100%}.ant-form-item-control-input{position:relative;display:flex;align-items:center;min-height:28px}.ant-form-item-control-input-content{flex:auto;max-width:100%}.ant-form-item-explain,.ant-form-item-extra{clear:both;min-height:16px;color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667;transition:color .3s cubic-bezier(.215,.61,.355,1);margin-top:-2px;margin-bottom:-2px}.ant-form-item .ant-input-textarea-show-count::after{margin-bottom:-22px}.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.ant-show-help-appear.ant-show-help-appear-active,.ant-show-help-enter.ant-show-help-enter-active{animation-name:antShowHelpIn;animation-play-state:running}.ant-show-help-leave.ant-show-help-leave-active{animation-name:antShowHelpOut;animation-play-state:running;pointer-events:none}.ant-show-help-appear,.ant-show-help-enter{opacity:0}@keyframes antShowHelpIn{0%{transform:translateY(-5px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes antShowHelpOut{to{transform:translateY(-5px);opacity:0}}@keyframes diffZoomIn1{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn2{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn3{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.ant-form-rtl .ant-form-item-label>label.ant-form-item-required::before{margin-right:0;margin-left:4px}.ant-form-rtl .ant-form-item-label>label::after{margin:0 2px 0 8px}.ant-form-rtl .ant-form-item-label>label .ant-form-item-optional{margin-right:0;margin-left:0}.ant-col-rtl .ant-form-item-control:first-child{width:100%}.ant-form-rtl .ant-form-item-has-feedback .ant-input{padding-right:7px;padding-left:24px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:7px;padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input{padding:0}.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:auto;left:28px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-clear{left:32px;right:auto}.ant-form-rtl .ant-form-item-has-feedback .ant-input-number{padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:0;padding-left:42px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:0;margin-left:19px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker{padding-right:7px;padding-left:22.6px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large{padding-right:11px;padding-left:26.6px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small{padding-right:7px;padding-left:22.6px}.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{right:auto;left:0}.ant-form-rtl.ant-form-inline .ant-form-item{margin-right:0;margin-left:16px}.ant-list{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:relative}.ant-list *{outline:0}.ant-list-pagination{margin-top:16px;text-align:right}.ant-list-pagination .ant-pagination-options{text-align:left}.ant-list-more{margin-top:8px;text-align:center}.ant-list-more button{padding-right:32px;padding-left:32px}.ant-list-spin{min-height:40px;text-align:center}.ant-list-empty-text{padding:8px;color:rgba(0,0,0,.25);font-size:12px;text-align:center}.ant-list-items{margin:0;padding:0;list-style:none}.ant-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;color:rgba(0,0,0,.85)}.ant-list-item-meta{display:flex;flex:1;align-items:flex-start;max-width:100%}.ant-list-item-meta-avatar{margin-right:8px}.ant-list-item-meta-content{flex:1 0;width:0;color:rgba(0,0,0,.85)}.ant-list-item-meta-title{margin-bottom:4px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667}.ant-list-item-meta-title>a{color:rgba(0,0,0,.85);transition:all .3s}.ant-list-item-meta-title>a:hover{color:#1890ff}.ant-list-item-meta-description{color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667}.ant-list-item-action{flex:0 0 auto;margin-left:48px;padding:0;font-size:0;list-style:none}.ant-list-empty,.ant-list-item-action>li{font-size:12px;color:rgba(0,0,0,.45);text-align:center}.ant-list-item-action>li{position:relative;display:inline-block;padding:0 4px;line-height:1.66667}.ant-list-item-action>li:first-child{padding-left:0}.ant-list-item-action-split{position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background-color:#f0f0f0}.ant-list-footer,.ant-list-header{background:0 0;padding-top:8px;padding-bottom:8px}.ant-list-empty{padding:8px 0}.ant-list-split .ant-list-item:last-child{border-bottom:none}.ant-list-split .ant-list-header,.ant-list-split.ant-list-something-after-last-item .ant-spin-container>.ant-list-items>.ant-list-item:last-child{border-bottom:1px solid #f0f0f0}.ant-list-loading .ant-list-spin-nested-loading{min-height:32px}.ant-list-lg .ant-list-item{padding:12px 16px}.ant-list-sm .ant-list-item{padding:4px 12px}.ant-list-vertical .ant-list-item{align-items:initial}.ant-list-vertical .ant-list-item-main{display:block;flex:1}.ant-list-vertical .ant-list-item-extra{margin-left:40px}.ant-list-vertical .ant-list-item-meta{margin-bottom:8px}.ant-list-vertical .ant-list-item-meta-title{margin-bottom:8px;color:rgba(0,0,0,.85);font-size:14px;line-height:24px}.ant-menu-dark .ant-menu-item-danger.ant-menu-item,.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover,.ant-menu-dark .ant-menu-item-danger.ant-menu-item>a,.ant-menu-item-danger.ant-menu-item,.ant-menu-item-danger.ant-menu-item-active,.ant-menu-item-danger.ant-menu-item-selected,.ant-menu-item-danger.ant-menu-item-selected>a,.ant-menu-item-danger.ant-menu-item-selected>a:hover,.ant-menu-item-danger.ant-menu-item:hover{color:#ff4d4f}.ant-list-vertical .ant-list-item-action{margin-top:8px;margin-left:auto}.ant-list-vertical .ant-list-item-action>li{padding:0 8px}.ant-list-vertical .ant-list-item-action>li:first-child{padding-left:0}.ant-list-grid .ant-col>.ant-list-item{display:block;max-width:100%;margin-bottom:8px;padding-top:0;padding-bottom:0;border-bottom:none}.ant-list-item-no-flex{display:block}.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:right}.ant-list-bordered{border:1px solid #d9d9d9;border-radius:2px}.ant-list-bordered .ant-list-footer,.ant-list-bordered .ant-list-header,.ant-list-bordered .ant-list-item{padding-right:16px;padding-left:16px}.ant-list-bordered .ant-list-pagination{margin:8px 16px}.ant-list-bordered.ant-list-sm .ant-list-footer,.ant-list-bordered.ant-list-sm .ant-list-header,.ant-list-bordered.ant-list-sm .ant-list-item{padding:4px 12px}.ant-list-bordered.ant-list-lg .ant-list-footer,.ant-list-bordered.ant-list-lg .ant-list-header,.ant-list-bordered.ant-list-lg .ant-list-item{padding:12px 16px}.ant-list-rtl .ant-list-vertical .ant-list-item-action>li:first-child,.ant-list.ant-list-rtl .ant-list-item-action>li:first-child{padding-right:0;padding-left:8px}@media screen and (max-width:768px){.ant-list-item-action,.ant-list-vertical .ant-list-item-extra{margin-left:24px}}@media screen and (max-width:576px){.ant-list-item{flex-wrap:wrap}.ant-list-item-action{margin-left:12px}.ant-list-vertical .ant-list-item{flex-wrap:wrap-reverse}.ant-list-vertical .ant-list-item-main{min-width:220px}.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-list-rtl{text-align:right}.ant-list-rtl .ant-list-pagination,.ant-menu{text-align:left}.ant-list-rtl .ant-list-item-meta-avatar{margin-right:0;margin-left:8px}.ant-list-rtl .ant-list-item-action{margin-right:48px;margin-left:0}.ant-list-rtl .ant-list-item-action-split{right:auto;left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin-right:40px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-action{margin-right:auto}.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:left}@media screen and (max-width:768px){.ant-list-rtl .ant-list-item-action,.ant-list-rtl .ant-list-vertical .ant-list-item-extra{margin-right:24px;margin-left:0}}@media screen and (max-width:576px){.ant-list-rtl .ant-list-item-action{margin-right:22px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-menu,.ant-menu ol,.ant-menu ul{margin:0;padding:0;list-style:none}nz-list,nz-list nz-spin,nz-list-empty,nz-list-footer,nz-list-header,nz-list-item-extra,nz-list-pagination{display:block}.ant-menu::after,.ant-menu::before{display:table;content:''}.ant-menu-item-danger.ant-menu-item:active{background:#fff1f0}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{background-color:#fff1f0}.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after{border-right-color:#ff4d4f}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{color:#fff;background-color:#ff4d4f}.ant-menu{box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;color:rgba(0,0,0,.85);font-size:12px;line-height:0;background:#fff;outline:0;transition:background .3s,width .3s cubic-bezier(.2,0,0,1) 0s}.ant-menu::after{clear:both}.ant-menu.ant-menu-root:focus-visible{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-menu-overflow{display:flex}.ant-menu-hidden,.ant-menu-submenu-hidden,.ant-menu-submenu-horizontal .ant-menu-submenu-arrow{display:none}.ant-menu-overflow-item{flex:none}.ant-menu-item-group-title{height:1.66667;padding:8px 16px;color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667;transition:all .3s}.ant-menu-horizontal .ant-menu-submenu{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu,.ant-menu-submenu-inline{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-selected{color:#1890ff}.ant-menu-submenu .ant-menu-sub{cursor:initial;transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item a{color:rgba(0,0,0,.85)}.ant-menu-item a:hover{color:#1890ff}.ant-menu-item a::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;content:''}.ant-menu-item>.ant-badge a{color:rgba(0,0,0,.85)}.ant-menu-item-selected,.ant-menu-item-selected a,.ant-menu-item-selected a:hover,.ant-menu-item>.ant-badge a:hover{color:#1890ff}.ant-menu-item-divider{height:1px;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#e6f7ff}.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:1px solid #f0f0f0}.ant-menu-vertical-right{border-left:1px solid #f0f0f0}.ant-menu-vertical-left.ant-menu-sub,.ant-menu-vertical-right.ant-menu-sub,.ant-menu-vertical.ant-menu-sub{min-width:160px;max-height:calc(100vh - 100px);padding:0;overflow:hidden;border-right:0}.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']),.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']),.ant-menu-vertical.ant-menu-sub:not([class*='-active']){overflow-x:hidden;overflow-y:auto}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item,.ant-menu-vertical.ant-menu-sub .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical.ant-menu-sub .ant-menu-item::after{border-right:0}.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:0 0}.ant-menu-horizontal.ant-menu-sub{min-width:114px}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu-title{transition:border-color .3s,background .3s}.ant-menu-item,.ant-menu-submenu-title{position:relative;display:block;margin:0;padding:0 12px;white-space:nowrap;cursor:pointer;transition:border-color .3s,background .3s,padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon,.ant-menu-item .anticon,.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-submenu-title .anticon{min-width:14px;font-size:12px;transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s}.ant-menu-item .ant-menu-item-icon+span,.ant-menu-item .anticon+span,.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu-submenu-title .anticon+span{margin-left:8px;opacity:1;transition:opacity .3s cubic-bezier(.645,.045,.355,1),margin .3s,color .3s}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon,.ant-menu-submenu>.ant-menu-submenu-title::after{transition:transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon.svg,.ant-menu-submenu-title .ant-menu-item-icon.svg{vertical-align:-.125em}.ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-right:0}.ant-menu-item:focus-visible,.ant-menu-submenu-title:focus-visible{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-menu>.ant-menu-item-divider{height:1px;margin:1px 0;padding:0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;border-radius:2px;box-shadow:none;transform-origin:0 0}.ant-menu-submenu-popup::before{position:absolute;top:-7px;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;opacity:.0001}.ant-menu-submenu-placement-rightTop::before{top:0;left:-7px}.ant-menu-submenu>.ant-menu{background-color:#fff;border-radius:2px}.ant-menu-submenu-popup>.ant-menu{background-color:#fff}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon{position:absolute;top:50%;right:16px;width:10px;color:rgba(0,0,0,.85);transform:translateY(-50%)}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-expand-icon,.ant-menu-vertical .ant-menu-submenu-selected,.ant-menu-vertical-left .ant-menu-submenu-selected,.ant-menu-vertical-right .ant-menu-submenu-selected{color:#1890ff}.ant-menu-submenu-arrow::after,.ant-menu-submenu-arrow::before{position:absolute;width:6px;height:1.5px;background-color:currentColor;border-radius:2px;transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateY(-2.5px)}.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateY(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before,.ant-menu-submenu-inline .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateX(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after,.ant-menu-submenu-inline .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow{transform:translateY(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateX(2.5px)}.ant-menu-horizontal{line-height:38px;border:0;border-bottom:1px solid #f0f0f0;box-shadow:none}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu{margin-top:-1px;margin-bottom:0;padding:0 12px}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover::after{border-bottom:2px solid #1890ff}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{position:relative;top:1px;display:inline-block;vertical-align:bottom}.ant-menu-horizontal>.ant-menu-item::after,.ant-menu-horizontal>.ant-menu-submenu::after{position:absolute;right:20px;bottom:0;left:20px;border-bottom:2px solid transparent;transition:border-color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-horizontal>.ant-menu-submenu>.ant-menu-submenu-title{padding:0}.ant-menu-horizontal>.ant-menu-item a{color:rgba(0,0,0,.85)}.ant-menu-horizontal>.ant-menu-item a:hover,.ant-menu-horizontal>.ant-menu-item-selected a{color:#1890ff}.ant-menu-horizontal>.ant-menu-item a::before{bottom:-2px}.ant-menu-horizontal::after{display:block;clear:both;height:0;content:'\20'}.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item{position:relative}.ant-menu-inline .ant-menu-item::after,.ant-menu-vertical .ant-menu-item::after,.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-vertical-right .ant-menu-item::after{position:absolute;top:0;right:0;bottom:0;border-right:3px solid #1890ff;transform:scaleY(.0001);opacity:0;transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1);content:''}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-vertical-right .ant-menu-item,.ant-menu-vertical-right .ant-menu-submenu-title{height:32px;margin-top:0;margin-bottom:0;padding:0 16px;overflow:hidden;line-height:32px;text-overflow:ellipsis}.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline .ant-menu-submenu,.ant-menu-vertical .ant-menu-submenu,.ant-menu-vertical-left .ant-menu-submenu,.ant-menu-vertical-right .ant-menu-submenu{padding-bottom:.02px}.ant-menu-inline .ant-menu-item:not(:last-child),.ant-menu-vertical .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child){margin-bottom:0}.ant-menu-inline>.ant-menu-item,.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-left>.ant-menu-item,.ant-menu-vertical-left>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-right>.ant-menu-item,.ant-menu-vertical-right>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical>.ant-menu-item,.ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title{height:32px;line-height:32px}.ant-menu-inline{width:100%}.ant-menu-inline .ant-menu-item-selected::after,.ant-menu-inline .ant-menu-selected::after{transform:scaleY(1);opacity:1;transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{width:calc(100% + 1px)}.ant-menu-inline.ant-menu-root .ant-menu-item,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{display:flex;align-items:center;transition:border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1)}.ant-menu-inline.ant-menu-root .ant-menu-item>.ant-menu-title-content,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>.ant-menu-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ant-menu-inline.ant-menu-root .ant-menu-item>*,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>*{flex:none}.ant-menu.ant-menu-inline-collapsed{width:80px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{left:0;padding:0 calc(50% - 14px / 2);text-overflow:clip}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:0}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:14px;line-height:32px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span{display:inline-block;opacity:0}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed .anticon{display:inline-block}.ant-menu.ant-menu-inline-collapsed-tooltip{pointer-events:none}.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed-tooltip .anticon{display:none}.ant-menu.ant-menu-inline-collapsed-tooltip a{color:rgba(255,255,255,.85)}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{padding-right:4px;padding-left:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-menu-item-group-list{margin:0;padding:0}.ant-menu-item-group-list .ant-menu-item,.ant-menu-item-group-list .ant-menu-submenu-title{padding:0 16px 0 28px}.ant-menu-root.ant-menu-inline,.ant-menu-root.ant-menu-vertical,.ant-menu-root.ant-menu-vertical-left,.ant-menu-root.ant-menu-vertical-right{box-shadow:none}.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item>.ant-menu-inline-collapsed-noicon,.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title>.ant-menu-inline-collapsed-noicon{font-size:14px;text-align:center}.ant-menu-rtl .ant-menu-item-group-title,.ant-menu-rtl.ant-menu-inline .ant-menu-item,.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical .ant-menu-item,.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu.ant-menu-rtl{text-align:right}.ant-menu-sub.ant-menu-inline{padding:0;background:#fafafa;border-radius:0;box-shadow:none}.ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:32px;line-height:32px;list-style-position:inside;list-style-type:disc}.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-left:32px}.ant-menu-item-disabled,.ant-menu-submenu-disabled{color:rgba(0,0,0,.25)!important;background:0 0;cursor:not-allowed}.ant-menu-item-disabled::after,.ant-menu-submenu-disabled::after{border-color:transparent!important}.ant-menu-item-disabled a,.ant-menu-submenu-disabled a{color:rgba(0,0,0,.25)!important;pointer-events:none}.ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(0,0,0,.25)!important;cursor:not-allowed}.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(0,0,0,.25)!important}.ant-layout-header .ant-menu{line-height:inherit}.ant-menu-light .ant-menu-item-active,.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-submenu-active,.ant-menu-light .ant-menu-submenu-title:hover,.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#1890ff}.ant-menu-dark .ant-menu-sub,.ant-menu.ant-menu-dark,.ant-menu.ant-menu-dark .ant-menu-sub{color:rgba(255,255,255,.65);background:#001529}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:.45;transition:all .3s}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark.ant-menu-submenu-popup{background:0 0}.ant-menu-dark .ant-menu-inline.ant-menu-sub{background:#000c17}.ant-menu-dark.ant-menu-horizontal{border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item,.ant-menu-dark.ant-menu-horizontal>.ant-menu-submenu{top:0;margin-top:0;padding:0 12px;border-color:#001529;border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item:hover{background-color:#1890ff}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item>a::before{bottom:0}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-item-group-title,.ant-menu-dark .ant-menu-item>a,.ant-menu-dark .ant-menu-item>span>a{color:rgba(255,255,255,.65)}.ant-menu-dark.ant-menu-inline,.ant-menu-dark.ant-menu-vertical,.ant-menu-dark.ant-menu-vertical-left,.ant-menu-dark.ant-menu-vertical-right{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-vertical .ant-menu-item,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{width:100%}.ant-menu-dark .ant-menu-item-active,.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-active,.ant-menu-dark .ant-menu-submenu-open,.ant-menu-dark .ant-menu-submenu-selected,.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background-color:transparent}.ant-menu-dark .ant-menu-item-active>a,.ant-menu-dark .ant-menu-item-active>span>a,.ant-menu-dark .ant-menu-item:hover>a,.ant-menu-dark .ant-menu-item:hover>span>a,.ant-menu-dark .ant-menu-submenu-active>a,.ant-menu-dark .ant-menu-submenu-active>span>a,.ant-menu-dark .ant-menu-submenu-open>a,.ant-menu-dark .ant-menu-submenu-open>span>a,.ant-menu-dark .ant-menu-submenu-selected>a,.ant-menu-dark .ant-menu-submenu-selected>span>a,.ant-menu-dark .ant-menu-submenu-title:hover>a,.ant-menu-dark .ant-menu-submenu-title:hover>span>a{color:#fff}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{opacity:1}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark .ant-menu-item:hover{background-color:transparent}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected,.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected,.ant-menu.ant-menu-dark .ant-menu-item-selected{background-color:#1890ff}.ant-menu-dark .ant-menu-item-selected{color:#fff;border-right:0}.ant-menu-dark .ant-menu-item-selected::after{border-right:0}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon+span,.ant-menu-dark .ant-menu-item-selected .anticon,.ant-menu-dark .ant-menu-item-selected .anticon+span,.ant-menu-dark .ant-menu-item-selected>a,.ant-menu-dark .ant-menu-item-selected>a:hover,.ant-menu-dark .ant-menu-item-selected>span>a,.ant-menu-dark .ant-menu-item-selected>span>a:hover{color:#fff}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-item-disabled>a,.ant-menu-dark .ant-menu-item-disabled>span>a,.ant-menu-dark .ant-menu-submenu-disabled,.ant-menu-dark .ant-menu-submenu-disabled>a,.ant-menu-dark .ant-menu-submenu-disabled>span>a{color:rgba(255,255,255,.35)!important;opacity:.8}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(255,255,255,.35)!important}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(255,255,255,.35)!important}.ant-menu-rtl.ant-menu-inline,.ant-menu-rtl.ant-menu-vertical{border-right:none;border-left:1px solid #f0f0f0}.ant-menu-rtl.ant-menu-dark.ant-menu-inline,.ant-menu-rtl.ant-menu-dark.ant-menu-vertical{border-left:none}.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:top right}.ant-menu-rtl .ant-menu-item .ant-menu-item-icon,.ant-menu-rtl .ant-menu-item .anticon,.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title .anticon{margin-right:auto;margin-left:8px}.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-left:0}.ant-menu-submenu-rtl.ant-menu-submenu-popup{transform-origin:100% 0}.ant-menu-rtl .ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow{right:auto;left:16px}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateY(-2px)}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateY(2px)}.ant-menu-rtl.ant-menu-inline .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after{right:auto;left:0}.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title{padding-right:0;padding-left:34px}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title{padding-right:16px;padding-left:34px}.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title{padding:0 calc(50% - 14px / 2)}.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item,.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title{padding:0 28px 0 16px}.ant-menu-sub.ant-menu-inline{border:0}.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-right:32px;padding-left:0}.ant-mention-wrapper,.ant-mention-wrapper .ant-mention-editor{position:relative;color:rgba(0,0,0,.85);font-size:12px;padding:0;line-height:1.66667;width:100%}.ant-menu-submenu.ant-menu-submenu-placement-bottom{top:6px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right{left:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right.ant-menu-submenu-rtl{left:auto;right:4px}.ant-menu-submenu.ant-menu-submenu-placement-left{right:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-left.ant-menu-submenu-rtl{right:auto;left:4px}.ant-mention-wrapper{box-sizing:border-box;margin:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;vertical-align:middle}.ant-mention-wrapper .ant-mention-editor{min-width:0;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;display:block;height:auto;min-height:28px}.ant-mention-wrapper .ant-mention-editor::-moz-placeholder{opacity:1}.ant-mention-wrapper .ant-mention-editor::placeholder{color:#bfbfbf}.ant-mention-wrapper .ant-mention-editor:placeholder-shown{text-overflow:ellipsis}.ant-mention-wrapper .ant-mention-editor:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:hover{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-focused,.ant-mention-wrapper .ant-mention-editor:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor-focused,.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:focus{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-disabled:hover,.ant-mention-wrapper .ant-mention-editor[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-mention-wrapper .ant-mention-editor-disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-mention-wrapper .ant-mention-editor[disabled]{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-mention-wrapper .ant-mention-editor-borderless,.ant-mention-wrapper .ant-mention-editor-borderless-disabled,.ant-mention-wrapper .ant-mention-editor-borderless-focused,.ant-mention-wrapper .ant-mention-editor-borderless:focus,.ant-mention-wrapper .ant-mention-editor-borderless:hover,.ant-mention-wrapper .ant-mention-editor-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-mention-wrapper .ant-mention-editor{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-mention-wrapper .ant-mention-editor-lg{padding:3.4px 11px;font-size:14px}.ant-mention-dropdown,.ant-message{font-size:12px;font-variant:tabular-nums}.ant-mention-wrapper .ant-mention-editor-sm{padding:0 7px}.ant-mention-wrapper .ant-mention-editor-wrapper{height:auto;overflow-y:auto}.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-mention-dropdown,.ant-message-notice-content,.ant-modal-content,.ant-notification-notice{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-input-rtl .ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper.disabled .ant-mention-editor{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-mention-wrapper.disabled .ant-mention-editor:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-mention-wrapper .public-DraftEditorPlaceholder-root{position:absolute;pointer-events:none}.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner{height:auto;padding:5px 7px;color:#bfbfbf;white-space:pre-wrap;word-wrap:break-word;outline:0;opacity:1}.ant-mention-wrapper .DraftEditor-editorContainer .public-DraftEditor-content{height:auto;padding:5px 7px}.ant-mention-dropdown{box-sizing:border-box;margin:1.5em 0 0;padding:0;color:rgba(0,0,0,.85);line-height:1.66667;list-style:none;font-feature-settings:tnum;z-index:1050;min-width:120px;max-height:250px;overflow-x:hidden;overflow-y:auto;background-color:#fff;border-radius:2px;outline:0}.ant-mention-dropdown-placement-top{margin-top:-.1em}.ant-mention-dropdown-notfound.ant-mention-dropdown-item{color:rgba(0,0,0,.25)}.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading{display:block;color:#1890ff;text-align:center}.ant-mention-dropdown-item{position:relative;display:block;padding:5px 8px;overflow:hidden;color:rgba(0,0,0,.85);font-weight:400;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .3s}.ant-mention-dropdown-item:hover{background-color:#f5f5f5}.ant-mention-dropdown-item-active,.ant-mention-dropdown-item.focus{background-color:#e6f7ff}.ant-mention-dropdown-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-mention-dropdown-item-disabled:hover{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-mention-dropdown-item-selected,.ant-mention-dropdown-item-selected:hover{color:rgba(0,0,0,.85);font-weight:700;background-color:#f5f5f5}.ant-mention-dropdown-item-divider{height:1px;margin:1px 0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-message,.ant-modal{line-height:1.66667;list-style:none;font-feature-settings:tnum;box-sizing:border-box}.ant-mention-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px}.ant-message{margin:0;padding:0;color:rgba(0,0,0,.85);position:fixed;top:8px;left:0;z-index:1010;width:100%;pointer-events:none}.ant-message-notice{padding:8px;text-align:center}.ant-message-notice-content{display:inline-block;padding:8px 16px;background:#fff;border-radius:2px;pointer-events:all}.ant-message-success .anticon{color:#52c41a}.ant-message-error .anticon{color:#ff4d4f}.ant-message-warning .anticon{color:#faad14}.ant-message-info .anticon,.ant-message-loading .anticon{color:#1890ff}.ant-message .anticon{position:relative;top:1px;margin-right:8px;font-size:14px}.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active{animation-name:MessageMoveOut;animation-duration:.3s}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}100%{max-height:0;padding:0;opacity:0}}.ant-message-rtl .anticon{margin-right:0;margin-left:8px}.ant-modal{padding:0 0 24px;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;pointer-events:none;position:relative;top:100px;max-width:calc(100vw - 32px);margin:0 auto}.ant-modal.ant-zoom-enter,.ant-modal.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.ant-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:rgba(0,0,0,.45)}.ant-modal-mask-hidden{display:none}.ant-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;z-index:1000}.ant-modal-title{margin:0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:22px;word-wrap:break-word}.ant-modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:0;border-radius:2px;pointer-events:auto}.ant-modal-close{position:absolute;top:0;right:0;z-index:10;padding:0;color:rgba(0,0,0,.45);font-weight:700;line-height:1;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s}.ant-modal-close-x{display:block;width:44px;height:44px;font-size:14px;font-style:normal;line-height:44px;text-align:center;text-transform:none;text-rendering:auto}.ant-modal-close:focus,.ant-modal-close:hover{color:rgba(0,0,0,.75);text-decoration:none}.ant-modal-header{padding:11px 16px;color:rgba(0,0,0,.85);background:#fff;border-bottom:1px solid #f0f0f0;border-radius:2px 2px 0 0}.ant-modal-body{padding:16px;font-size:12px;line-height:1.66667;word-wrap:break-word}.ant-modal-footer{padding:8px 16px;text-align:right;background:0 0;border-top:1px solid #f0f0f0;border-radius:0 0 2px 2px}.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){margin-bottom:0;margin-left:8px}.ant-modal-open{overflow:hidden}.ant-modal-centered{text-align:center}.ant-modal-centered::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:''}.ant-modal-centered .ant-modal{top:0;display:inline-block;text-align:left;vertical-align:middle}@media (max-width:767px){.ant-modal{max-width:calc(100vw - 16px);margin:8px auto}.ant-modal-centered .ant-modal{flex:1}}.ant-modal-confirm .ant-modal-header{display:none}.ant-modal-confirm-body-wrapper::after,.ant-modal-confirm-body-wrapper::before{display:table;content:''}.ant-modal-confirm .ant-modal-body{padding:24px 24px 16px}.ant-modal-confirm-body-wrapper::after{clear:both}.ant-modal-confirm-body .ant-modal-confirm-title{display:block;overflow:hidden;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:1.4}.ant-modal-confirm-body .ant-modal-confirm-content{margin-top:8px;color:rgba(0,0,0,.85);font-size:12px}.ant-modal-confirm-body>.anticon{float:left;margin-right:16px;font-size:22px}.ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-left:38px}.ant-modal-confirm .ant-modal-confirm-btns{float:right;margin-top:24px}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-bottom:0;margin-left:8px}.ant-modal-confirm-error .ant-modal-confirm-body>.anticon{color:#ff4d4f}.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon,.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon{color:#faad14}.ant-modal-confirm-info .ant-modal-confirm-body>.anticon{color:#1890ff}.ant-modal-confirm-success .ant-modal-confirm-body>.anticon{color:#52c41a}.ant-modal-wrap-rtl .ant-modal-close{right:initial;left:0}.ant-modal-wrap-rtl .ant-modal-footer{text-align:left}.ant-modal-wrap-rtl .ant-modal-footer .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon{float:right;margin-right:0;margin-left:16px}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-right:38px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-btns{float:left}.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl.ant-modal-centered .ant-modal{text-align:right}.ant-notification{box-sizing:border-box;margin:0 24px 0 0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:fixed;z-index:1010}.ant-notification-bottomLeft,.ant-notification-topLeft{margin-right:0;margin-left:24px}.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationLeftFadeIn}.ant-notification-close-icon{font-size:12px;cursor:pointer}.ant-notification-hook-holder{position:relative}.ant-notification-notice{position:relative;width:384px;max-width:calc(100vw - 24px * 2);margin-bottom:16px;margin-left:auto;padding:12px 16px;overflow:hidden;line-height:1.66667;word-wrap:break-word;background:#fff;border-radius:2px}.ant-notification-bottomLeft .ant-notification-notice,.ant-notification-topLeft .ant-notification-notice{margin-right:auto;margin-left:0}.ant-notification-notice-message{margin-bottom:8px;color:rgba(0,0,0,.85);font-size:14px;line-height:24px}.ant-notification-notice-message-single-line-auto-margin{display:block;width:calc(384px - 16px * 2 - 24px - 48px - 100%);max-width:4px;background-color:transparent;pointer-events:none}.ant-notification-notice-message-single-line-auto-margin::before{display:block;content:''}.ant-notification-notice-description{font-size:12px}.ant-notification-notice-closable .ant-notification-notice-message{padding-right:24px}.ant-notification-notice-with-icon .ant-notification-notice-message{margin-bottom:4px;margin-left:48px;font-size:14px}.ant-notification-notice-with-icon .ant-notification-notice-description{margin-left:48px;font-size:12px}.ant-notification-notice-icon{position:absolute;margin-left:4px;font-size:24px;line-height:24px}.anticon.ant-notification-notice-icon-success{color:#52c41a}.anticon.ant-notification-notice-icon-info{color:#1890ff}.anticon.ant-notification-notice-icon-warning{color:#faad14}.anticon.ant-notification-notice-icon-error{color:#ff4d4f}.ant-notification-notice-close{position:absolute;top:16px;right:22px;color:rgba(0,0,0,.45);outline:0}.ant-page-header,.ant-pagination-jump-next .ant-pagination-item-container,.ant-pagination-jump-prev .ant-pagination-item-container{position:relative}.ant-notification-notice-close:hover{color:rgba(0,0,0,.67)}.ant-notification-notice-btn{float:right;margin-top:16px}.ant-notification .notification-fade-effect{animation-duration:.24s;animation-fill-mode:both}.ant-notification-fade-appear,.ant-notification-fade-enter{animation-duration:.24s;animation-fill-mode:both;opacity:0;animation-play-state:paused}.ant-notification-fade-leave{animation-fill-mode:both;animation-duration:.2s;animation-play-state:paused}.ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationFadeIn;animation-play-state:running}.ant-notification-fade-leave.ant-notification-fade-leave-active{animation-name:NotificationFadeOut;animation-play-state:running}@keyframes NotificationFadeIn{0%{left:384px;opacity:0}100%{left:0;opacity:1}}@keyframes NotificationLeftFadeIn{0%{right:384px;opacity:0}100%{right:0;opacity:1}}@keyframes NotificationFadeOut{0%{max-height:150px;margin-bottom:16px;opacity:1}100%{max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0}}.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message{padding-right:0;padding-left:24px}.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description,.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message{margin-right:48px;margin-left:0}.ant-notification-rtl .ant-notification-notice-icon{margin-right:4px;margin-left:0}.ant-notification-rtl .ant-notification-notice-close{right:auto;left:22px}.ant-notification-rtl .ant-notification-notice-btn{float:left}.ant-page-header{box-sizing:border-box;margin:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;padding:8px 8px 16px 0;background-color:#fff}.ant-page-header-content,.ant-page-header.has-breadcrumb{padding-top:8px}.ant-page-header-ghost{background-color:inherit}.ant-page-header.has-footer{padding-bottom:0}.ant-page-header-back{margin-right:8px;font-size:16px;line-height:1}.ant-page-header-back-button{text-decoration:none;outline:0;transition:color .3s;color:#000;cursor:pointer}.ant-page-header-back-button:focus,.ant-page-header-back-button:hover{color:#40a9ff}.ant-page-header-back-button:active{color:#096dd9}.ant-page-header .ant-divider-vertical{height:14px;margin:0 8px;vertical-align:middle}.ant-breadcrumb+.ant-page-header-heading{margin-top:4px}.ant-page-header-heading{display:flex}.ant-page-header-heading-left{display:flex;align-items:center;margin:2px 0;overflow:hidden}.ant-page-header-heading-title{margin-right:8px;margin-bottom:0;color:rgba(0,0,0,.85);font-weight:600;font-size:16px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading .ant-avatar{margin-right:8px}.ant-page-header-heading-sub-title{margin-right:8px;color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading-extra{margin:2px 0;white-space:nowrap}.ant-page-header-heading-extra>*{margin-left:8px;white-space:unset}.ant-page-header-heading-extra>:first-child{margin-left:0}.ant-page-header-footer{margin-top:8px}.ant-page-header-footer .ant-tabs>.ant-tabs-nav{margin:0}.ant-page-header-footer .ant-tabs>.ant-tabs-nav::before{border:none}.ant-page-header-footer .ant-tabs .ant-tabs-tab{padding-top:4px;padding-bottom:4px;font-size:14px}.ant-page-header-compact .ant-page-header-heading{flex-wrap:wrap}.ant-page-header-rtl .ant-page-header-back{float:right;margin-right:0;margin-left:16px}.ant-page-header-rtl .ant-page-header-heading .ant-avatar,.ant-page-header-rtl .ant-page-header-heading-title{margin-right:0;margin-left:8px}.ant-page-header-rtl .ant-page-header-heading-sub-title{float:right;margin-right:0;margin-left:12px}.ant-page-header-rtl .ant-page-header-heading-tags{float:right}.ant-page-header-rtl .ant-page-header-heading-extra{float:left}.ant-page-header-rtl .ant-page-header-heading-extra>*{margin-right:8px;margin-left:0}.ant-pagination,.ant-pagination ol,.ant-pagination ul{margin:0;list-style:none;padding:0}.ant-page-header-rtl .ant-page-header-heading-extra>:first-child{margin-right:0}.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav{float:right}.ant-page-header-back-button{border:0;background:0 0;padding:0;line-height:inherit;display:inline-block}nz-page-header,nz-page-header-content,nz-page-header-footer{display:block}.ant-pagination{box-sizing:border-box;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;font-feature-settings:tnum}.ant-pagination::after{display:block;clear:both;height:0;overflow:hidden;visibility:hidden;content:' '}.ant-pagination-item,.ant-pagination-total-text{display:inline-block;margin-right:8px;line-height:26px}.ant-pagination-total-text{height:28px;vertical-align:middle}.ant-pagination-item{min-width:28px;height:28px;text-align:center;vertical-align:middle;list-style:none;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;cursor:pointer;user-select:none}.ant-pagination-item a{display:block;padding:0 6px;color:rgba(0,0,0,.85);transition:none}.ant-pagination-item-active a,.ant-pagination-item:focus-visible a,.ant-pagination-item:hover a{color:#1890ff}.ant-pagination-item a:hover{text-decoration:none}.ant-pagination-item:focus-visible,.ant-pagination-item:hover{border-color:#1890ff;transition:all .3s}.ant-pagination-item-active{font-weight:500;background:#fff;border-color:#1890ff}.ant-pagination-item-active:focus-visible,.ant-pagination-item-active:hover,.ant-pagination-next:hover button,.ant-pagination-prev:hover button{border-color:#40a9ff}.ant-pagination-item-active:focus-visible a,.ant-pagination-item-active:hover a{color:#40a9ff}.ant-pagination-jump-next,.ant-pagination-jump-prev{outline:0}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon{color:#1890ff;font-size:12px;letter-spacing:-1px;opacity:0;transition:all .2s}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg{top:0;right:0;bottom:0;left:0;margin:auto}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:auto;color:rgba(0,0,0,.25);font-family:Arial,Helvetica,sans-serif;letter-spacing:2px;text-align:center;text-indent:.13em;opacity:1;transition:all .2s}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev,.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror,.ant-statistic-content,.ant-steps-item-icon{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-next:hover .ant-pagination-item-link-icon,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon{opacity:1}.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis,.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon{opacity:0}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-prev{margin-right:8px}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev{display:inline-block;min-width:28px;height:28px;color:rgba(0,0,0,.85);line-height:28px;text-align:center;vertical-align:middle;list-style:none;border-radius:2px;cursor:pointer;transition:all .3s}.ant-pagination-next,.ant-pagination-prev{font-family:Arial,Helvetica,sans-serif;outline:0}.ant-pagination-next button,.ant-pagination-prev button{color:rgba(0,0,0,.85);cursor:pointer;user-select:none}.ant-pagination-next .ant-pagination-item-link,.ant-pagination-prev .ant-pagination-item-link{display:block;width:100%;height:100%;padding:0;font-size:12px;text-align:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;transition:all .3s}.ant-pagination-next:focus-visible .ant-pagination-item-link,.ant-pagination-next:hover .ant-pagination-item-link,.ant-pagination-prev:focus-visible .ant-pagination-item-link,.ant-pagination-prev:hover .ant-pagination-item-link{color:#1890ff;border-color:#1890ff}.ant-pagination-disabled,.ant-pagination-disabled:focus-visible,.ant-pagination-disabled:hover{cursor:not-allowed}.ant-pagination-disabled .ant-pagination-item-link,.ant-pagination-disabled:focus-visible .ant-pagination-item-link,.ant-pagination-disabled:hover .ant-pagination-item-link{color:rgba(0,0,0,.25);border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-slash{margin:0 10px 0 5px}.ant-pagination-options{display:inline-block;margin-left:16px;vertical-align:middle}@media all and (-ms-high-contrast:none){.ant-pagination-options,.ant-pagination-options ::-ms-backdrop{vertical-align:top}}.ant-pagination-options-size-changer.ant-select{display:inline-block;width:auto}.ant-pagination-options-quick-jumper{display:inline-block;height:28px;margin-left:4px;line-height:28px;vertical-align:top}.ant-pagination-options-quick-jumper input{position:relative;display:inline-block;min-width:0;padding:3px 7px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;width:50px;height:28px;margin:0 8px}.ant-pagination-options-quick-jumper input::-moz-placeholder{opacity:1}.ant-pagination-options-quick-jumper input::placeholder{color:#bfbfbf}.ant-pagination-options-quick-jumper input:placeholder-shown{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-pagination-options-quick-jumper input:hover{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-focused,.ant-pagination-options-quick-jumper input:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-pagination-options-quick-jumper input-focused,.ant-input-rtl .ant-pagination-options-quick-jumper input:focus{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-disabled:hover,.ant-pagination-options-quick-jumper input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-pagination-options-quick-jumper input-disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-pagination-options-quick-jumper input[disabled]{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-pagination-options-quick-jumper input-borderless,.ant-pagination-options-quick-jumper input-borderless-disabled,.ant-pagination-options-quick-jumper input-borderless-focused,.ant-pagination-options-quick-jumper input-borderless:focus,.ant-pagination-options-quick-jumper input-borderless:hover,.ant-pagination-options-quick-jumper input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}.ant-popover-inner,.ant-select-dropdown{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}textarea.ant-pagination-options-quick-jumper input{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-pagination-options-quick-jumper input-lg{padding:3.4px 11px;font-size:14px}.ant-pagination-options-quick-jumper input-sm{padding:0 7px}.ant-pagination-simple .ant-pagination-next,.ant-pagination-simple .ant-pagination-prev{height:22px;line-height:22px;vertical-align:top}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link{height:22px;background-color:transparent;border:0}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after{height:22px;line-height:22px}.ant-pagination-simple .ant-pagination-simple-pager{display:inline-block;height:22px;margin-right:8px}.ant-pagination-simple .ant-pagination-simple-pager input{box-sizing:border-box;height:100%;margin-right:8px;padding:0 6px;text-align:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;transition:border-color .3s}.ant-pagination-simple .ant-pagination-simple-pager input:hover{border-color:#1890ff}.ant-pagination-simple .ant-pagination-simple-pager input[disabled]{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active),.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link{background:0 0;border-color:transparent}.ant-pagination.mini .ant-pagination-simple-pager,.ant-pagination.mini .ant-pagination-total-text{height:22px;line-height:22px}.ant-pagination.mini .ant-pagination-item{min-width:22px;height:22px;margin:0;line-height:20px}.ant-pagination.mini .ant-pagination-next,.ant-pagination.mini .ant-pagination-prev{min-width:22px;height:22px;margin:0;line-height:22px}.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link::after{height:22px;line-height:22px}.ant-pagination.mini .ant-pagination-jump-next,.ant-pagination.mini .ant-pagination-jump-prev{height:22px;margin-right:0;line-height:22px}.ant-pagination.mini .ant-pagination-options{margin-left:2px}.ant-pagination.mini .ant-pagination-options-size-changer{top:1px}.ant-pagination.mini .ant-pagination-options-quick-jumper{height:22px;line-height:22px}.ant-popover,.ant-progress{line-height:1.66667;font-size:12px;box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-pagination.mini .ant-pagination-options-quick-jumper input{padding:0 7px;width:44px;height:22px}.ant-pagination.ant-pagination-disabled{cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item{background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item a{color:rgba(0,0,0,.25);background:0 0;border:none;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active{background:#dbdbdb;border-color:transparent}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a{color:#fff}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{background:0 0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis{opacity:1}.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager{color:rgba(0,0,0,.25)}@media only screen and (max-width:992px){.ant-pagination-item-after-jump-prev,.ant-pagination-item-before-jump-next{display:none}}@media only screen and (max-width:576px){.ant-pagination-options{display:none}}.ant-pagination-rtl .ant-pagination-item,.ant-pagination-rtl .ant-pagination-jump-next,.ant-pagination-rtl .ant-pagination-jump-prev,.ant-pagination-rtl .ant-pagination-prev,.ant-pagination-rtl .ant-pagination-total-text{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-slash{margin:0 5px 0 10px}.ant-pagination-rtl .ant-pagination-options{margin-right:16px;margin-left:0}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper{margin-left:0}.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager,.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input{margin-right:0;margin-left:8px}.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options{margin-right:2px;margin-left:0}nz-pagination{display:block}.ant-popover-hidden,.ant-radio+span:empty{display:none}.ant-popover{margin:0;padding:0;color:rgba(0,0,0,.85);top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:left;cursor:auto;user-select:text}.ant-popover::after{position:absolute;background:rgba(255,255,255,.01);content:''}.ant-popover-placement-top,.ant-popover-placement-topLeft,.ant-popover-placement-topRight{padding-bottom:10px}.ant-popover-placement-right,.ant-popover-placement-rightBottom,.ant-popover-placement-rightTop{padding-left:10px}.ant-popover-placement-bottom,.ant-popover-placement-bottomLeft,.ant-popover-placement-bottomRight{padding-top:10px}.ant-popover-placement-left,.ant-popover-placement-leftBottom,.ant-popover-placement-leftTop{padding-right:10px}.ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:2px;box-shadow:0 0 8px rgba(0,0,0,.15)\9}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-popover-inner{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}}.ant-popover-title{min-width:177px;min-height:28px;margin:0;padding:5px 12px 4px;color:rgba(0,0,0,.85);font-weight:500;border-bottom:1px solid #f0f0f0}.ant-popover-inner-content{padding:8px 12px;color:rgba(0,0,0,.85)}.ant-popover-message{position:relative;padding:4px 0 12px;color:rgba(0,0,0,.85);font-size:12px}.ant-popover-message>.anticon{position:absolute;top:8px;color:#faad14;font-size:12px}.ant-popover-message-title{padding-left:20px}.ant-popover-buttons{margin-bottom:4px;text-align:right}.ant-popover-buttons button{margin-left:8px}.ant-popover-arrow{position:absolute;display:block;width:8.49px;height:8.49px;overflow:hidden;background:0 0;pointer-events:none}.ant-popover-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:6px;height:6px;margin:auto;background-color:#fff;content:'';pointer-events:auto}.ant-progress,.ant-progress-steps{display:inline-block}.ant-popover-placement-top .ant-popover-arrow,.ant-popover-placement-topLeft .ant-popover-arrow,.ant-popover-placement-topRight .ant-popover-arrow{bottom:1.51px}.ant-popover-placement-top .ant-popover-arrow-content,.ant-popover-placement-topLeft .ant-popover-arrow-content,.ant-popover-placement-topRight .ant-popover-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-4.24px) rotate(45deg)}.ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-topLeft .ant-popover-arrow{left:16px}.ant-popover-placement-topRight .ant-popover-arrow{right:16px}.ant-popover-placement-right .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow,.ant-popover-placement-rightTop .ant-popover-arrow{left:1.51px}.ant-popover-placement-right .ant-popover-arrow-content,.ant-popover-placement-rightBottom .ant-popover-arrow-content,.ant-popover-placement-rightTop .ant-popover-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(4.24px) rotate(45deg)}.ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-rightTop .ant-popover-arrow{top:12px}.ant-popover-placement-bottom .ant-popover-arrow,.ant-popover-placement-bottomLeft .ant-popover-arrow,.ant-popover-placement-bottomRight .ant-popover-arrow{top:1.51px}.ant-popover-placement-bottom .ant-popover-arrow-content,.ant-popover-placement-bottomLeft .ant-popover-arrow-content,.ant-popover-placement-bottomRight .ant-popover-arrow-content{box-shadow:-2px -2px 5px rgba(0,0,0,.06);transform:translateY(4.24px) rotate(45deg)}.ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-bottomLeft .ant-popover-arrow{left:16px}.ant-popover-placement-bottomRight .ant-popover-arrow{right:16px}.ant-popover-placement-left .ant-popover-arrow,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-leftTop .ant-popover-arrow{right:1.51px}.ant-popover-placement-left .ant-popover-arrow-content,.ant-popover-placement-leftBottom .ant-popover-arrow-content,.ant-popover-placement-leftTop .ant-popover-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-4.24px) rotate(45deg)}.ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-leftTop .ant-popover-arrow{top:12px}.ant-popover-magenta .ant-popover-arrow-content,.ant-popover-magenta .ant-popover-inner,.ant-popover-pink .ant-popover-arrow-content,.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}.ant-popover-red .ant-popover-arrow-content,.ant-popover-red .ant-popover-inner{background-color:#f5222d}.ant-popover-volcano .ant-popover-arrow-content,.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}.ant-popover-orange .ant-popover-arrow-content,.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}.ant-popover-yellow .ant-popover-arrow-content,.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}.ant-popover-gold .ant-popover-arrow-content,.ant-popover-gold .ant-popover-inner{background-color:#faad14}.ant-popover-cyan .ant-popover-arrow-content,.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}.ant-popover-lime .ant-popover-arrow-content,.ant-popover-lime .ant-popover-inner{background-color:#a0d911}.ant-popover-green .ant-popover-arrow-content,.ant-popover-green .ant-popover-inner{background-color:#52c41a}.ant-popover-blue .ant-popover-arrow-content,.ant-popover-blue .ant-popover-inner{background-color:#1890ff}.ant-popover-geekblue .ant-popover-arrow-content,.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}.ant-popover-purple .ant-popover-arrow-content,.ant-popover-purple .ant-popover-inner{background-color:#722ed1}.ant-popover-rtl{text-align:right}.ant-popover-rtl .ant-popover-message-title{padding-right:20px;padding-left:8px}.ant-popover-rtl .ant-popover-buttons{text-align:left}.ant-popover-rtl .ant-popover-buttons button{margin-right:8px;margin-left:0}.ant-popover{position:relative}.ant-progress{margin:0;padding:0;color:rgba(0,0,0,.85)}.ant-progress-line{position:relative;width:100%;font-size:12px}.ant-progress-steps-outer{display:flex;flex-direction:row;align-items:center}.ant-progress-steps-item{flex-shrink:0;min-width:2px;margin-right:2px;background:#f3f3f3;transition:all .3s}.ant-progress-steps-item-active{background:#1890ff}.ant-progress-small.ant-progress-line,.ant-progress-small.ant-progress-line .ant-progress-text .anticon{font-size:12px}.ant-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0}.ant-progress-show-info .ant-progress-outer{margin-right:calc(-2em - 8px);padding-right:calc(2em + 8px)}.ant-progress-inner{position:relative;display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:#f5f5f5;border-radius:100px}.ant-progress-circle-trail{stroke:#f5f5f5}.ant-progress-circle-path{animation:ant-progress-appear .3s}.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#1890ff}.ant-progress-bg,.ant-progress-success-bg{position:relative;background-color:#1890ff;border-radius:100px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.ant-progress-success-bg{position:absolute;top:0;left:0;background-color:#52c41a}.ant-progress-text{display:inline-block;width:2em;margin-left:8px;color:rgba(0,0,0,.85);font-size:1em;line-height:1;white-space:nowrap;text-align:left;vertical-align:middle;word-break:normal}.ant-progress-text .anticon{font-size:12px}.ant-progress-status-active .ant-progress-bg::before{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:10px;opacity:0;animation:ant-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;content:''}.ant-progress-status-exception .ant-progress-bg{background-color:#ff4d4f}.ant-progress-status-exception .ant-progress-text{color:#ff4d4f}.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#ff4d4f}.ant-progress-status-success .ant-progress-bg{background-color:#52c41a}.ant-progress-status-success .ant-progress-text{color:#52c41a}.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#52c41a}.ant-progress-circle .ant-progress-inner{position:relative;line-height:1;background-color:transparent}.ant-progress-circle .ant-progress-text{position:absolute;top:50%;left:50%;width:100%;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:.833333em;line-height:1;white-space:normal;text-align:center;transform:translate(-50%,-50%)}.ant-progress-circle .ant-progress-text .anticon{font-size:1.16666667em}.ant-progress-circle.ant-progress-status-exception .ant-progress-text{color:#ff4d4f}.ant-progress-circle.ant-progress-status-success .ant-progress-text{color:#52c41a}@keyframes ant-progress-active{0%{transform:translateX(-100%) scaleX(0);opacity:.1}20%{transform:translateX(-100%) scaleX(0);opacity:.5}100%{transform:translateX(0) scaleX(1);opacity:0}}.ant-progress-rtl.ant-progress-show-info .ant-progress-outer{margin-right:0;margin-left:calc(-2em - 8px);padding-right:0;padding-left:calc(2em + 8px)}.ant-progress-rtl .ant-progress-success-bg{right:0;left:auto}.ant-progress-rtl.ant-progress-line .ant-progress-text,.ant-progress-rtl.ant-progress-steps .ant-progress-text{margin-right:8px;margin-left:0;text-align:right}.ant-radio-group{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;font-size:0;line-height:unset}.ant-radio,.ant-radio-wrapper{box-sizing:border-box;padding:0;color:rgba(0,0,0,.85);line-height:1.66667;position:relative;cursor:pointer;font-size:12px;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-radio-group .ant-badge-count{z-index:1}.ant-radio-group>.ant-badge:not(:first-child)>.ant-radio-button-wrapper{border-left:none}.ant-radio-wrapper{margin:0 6px 0 0;display:inline-flex;align-items:baseline}.ant-radio-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-radio{margin:0;top:.2em;display:inline-block;outline:0}.ant-radio-input:focus+.ant-radio-inner,.ant-radio-wrapper:hover .ant-radio,.ant-radio:hover .ant-radio-inner{border-color:#1890ff}.ant-radio-input:focus+.ant-radio-inner{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:50%;visibility:hidden;animation:antRadioEffect .36s ease-in-out;animation-fill-mode:both;content:''}.ant-radio-inner,.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle{border-radius:50%}.ant-radio-wrapper:hover .ant-radio::after,.ant-radio:hover::after,.ant-tooltip{visibility:visible}.ant-radio-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;background-color:#fff;border-color:#d9d9d9;border-style:solid;border-width:1px;transition:all .3s}.ant-radio-inner::after{position:absolute;top:3px;left:3px;display:block;width:6px;height:6px;background-color:#1890ff;border-top:0;border-left:0;border-radius:6px;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:' '}.ant-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;opacity:0}.ant-radio-button-wrapper-disabled,.ant-radio-disabled,.ant-radio-disabled .ant-radio-inner,.ant-radio-disabled .ant-radio-input,.ant-radio-disabled+span{cursor:not-allowed}.ant-radio-checked .ant-radio-inner{border-color:#1890ff}.ant-radio-checked .ant-radio-inner::after{transform:scale(1);opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86)}.ant-radio-disabled .ant-radio-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-radio-disabled .ant-radio-inner::after{background-color:rgba(0,0,0,.2)}.ant-radio-disabled+span{color:rgba(0,0,0,.25)}span.ant-radio+*{padding-right:8px;padding-left:8px}.ant-radio-button-wrapper{position:relative;display:inline-block;height:28px;margin:0;padding:0 7px;color:rgba(0,0,0,.85);font-size:12px;line-height:26px;background:#fff;border:1px solid #d9d9d9;border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color .3s,background .3s,border-color .3s,box-shadow .3s}.ant-radio-button-wrapper a{color:rgba(0,0,0,.85)}.ant-radio-button-wrapper>.ant-radio-button{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.ant-radio-group-large .ant-radio-button-wrapper{height:32px;font-size:14px;line-height:30px}.ant-radio-group-small .ant-radio-button-wrapper{height:22px;padding:0 7px;line-height:20px}.ant-radio-button-wrapper:not(:first-child)::before{position:absolute;top:-1px;left:-1px;display:block;box-sizing:content-box;width:1px;height:100%;padding:1px 0;background-color:#d9d9d9;transition:background-color .3s;content:''}.ant-radio-button-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:2px 0 0 2px}.ant-radio-button-wrapper:last-child{border-radius:0 2px 2px 0}.ant-radio-button-wrapper:first-child:last-child{border-radius:2px}.ant-radio-button-wrapper:hover{position:relative;color:#1890ff}.ant-radio-button-wrapper:focus-within{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type=radio],.ant-radio-button-wrapper input[type=checkbox]{width:0;height:0;opacity:0;pointer-events:none}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#1890ff;background:#fff;border-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before{background-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#40a9ff;border-color:#40a9ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before{background-color:#40a9ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#096dd9;border-color:#096dd9}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before{background-color:#096dd9}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#1890ff;border-color:#1890ff}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#40a9ff;border-color:#40a9ff}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#096dd9;border-color:#096dd9}.ant-radio-button-wrapper-disabled,.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-button-wrapper-disabled:first-child{border-left-color:#d9d9d9}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:rgba(0,0,0,.25);background-color:#e6e6e6;border-color:#d9d9d9;box-shadow:none}@keyframes antRadioEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-radio-wrapper.ant-radio-wrapper-rtl{margin-right:0;margin-left:6px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl{border-right-width:0;border-left-width:1px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before{right:-1px;left:0}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child{border-right:1px solid #d9d9d9;border-radius:0 2px 2px 0}.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child{border-right-color:#40a9ff}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child{border-radius:2px 0 0 2px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child{border-right-color:#d9d9d9}.ant-rate,.ant-rate-star,.ant-rate-text{display:inline-block}.ant-rate{box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;margin:0;padding:0;color:#fadb14;font-size:16px;line-height:unset;list-style:none;outline:0}.ant-rate-disabled .ant-rate-star{cursor:default}.ant-rate-disabled .ant-rate-star:hover{transform:scale(1)}.ant-rate-star{position:relative;color:inherit;cursor:pointer}.ant-rate-star:not(:last-child){margin-right:8px}.ant-rate-star>div{transition:all .3s}.ant-rate-star>div:focus-visible,.ant-rate-star>div:hover{transform:scale(1.1)}.ant-rate-star>div:focus:not(:focus-visible){outline:0}.ant-rate-star-first,.ant-rate-star-second{color:#f0f0f0;transition:all .3s;user-select:none}.ant-rate-star-first .anticon,.ant-rate-star-second .anticon{vertical-align:middle}.ant-rate-star-first{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;opacity:0}.ant-rate-star-half .ant-rate-star-first,.ant-rate-star-half .ant-rate-star-second{opacity:1}.ant-rate-star-full .ant-rate-star-second,.ant-rate-star-half .ant-rate-star-first{color:inherit}.ant-rate-text{margin:0 8px;font-size:12px}.ant-rate-rtl .ant-rate-star:not(:last-child){margin-right:0;margin-left:8px}.ant-rate-rtl .ant-rate-star-first{right:0;left:auto}.ant-select-single .ant-select-selector{display:flex}.ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;right:7px;bottom:0;left:7px}.ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%}.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:26px;transition:all .3s}@supports (-moz-appearance:meterbar){.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:26px}}.ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;user-select:none}.ant-select-single .ant-select-selector .ant-select-selection-placeholder{pointer-events:none}.ant-select-single .ant-select-selector .ant-select-selection-item::after,.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single .ant-select-selector::after{display:inline-block;width:0;visibility:hidden;content:'\a0'}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single.ant-select-customize-input .ant-select-selector::after{display:none}.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:19px}.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:15px}.ant-select-single.ant-select-open .ant-select-selection-item{color:#bfbfbf}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:28px;padding:0 7px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:26px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after{line-height:26px}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;right:0;left:0;padding:0 7px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{height:32px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after{line-height:30px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:30px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{height:22px;padding:0 7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after{line-height:20px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:20px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{right:7px;left:7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:25px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:18px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{padding:0 11px}.ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%}.ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%}.ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:0 3px}.ant-select-show-search.ant-select-multiple .ant-select-selector{cursor:text}.ant-select-disabled.ant-select-multiple .ant-select-selector{background:#f5f5f5;cursor:not-allowed}.ant-select-multiple .ant-select-selector::after{display:inline-block;width:0;margin:3px 0;line-height:20px;content:'\a0'}.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:20px}.ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:20px;margin-top:3px;margin-bottom:3px;line-height:18px;background:#f5f5f5;border:1px solid #f0f0f0;border-radius:2px;cursor:default;transition:font-size .3s,line-height .3s,height .3s;user-select:none;margin-inline-end:3px;padding-inline-start:4px;padding-inline-end:2px}.ant-select-disabled.ant-select-multiple .ant-select-selection-item{color:#bfbfbf;border-color:#d9d9d9;cursor:not-allowed}.ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-right:2px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.ant-select-multiple .ant-select-selection-item-remove{color:inherit;font-style:normal;text-align:center;text-transform:none;vertical-align:-.125em;display:inline-block;color:rgba(0,0,0,.45);font-weight:700;font-size:10px;line-height:inherit;cursor:pointer}.ant-select-multiple .ant-select-selection-item-remove>*{line-height:1}.ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block}.ant-select-disabled .ant-select-selection-item-remove,.ant-select-multiple .ant-select-selection-item-remove::before{display:none}.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon{display:block}.ant-select-multiple .ant-select-selection-item-remove>.anticon{vertical-align:-.2em}.ant-select-multiple .ant-select-selection-item-remove:hover{color:rgba(0,0,0,.75)}.ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0}.ant-select-multiple .ant-select-selection-search{position:relative;max-width:100%;margin-top:3px;margin-bottom:3px;margin-inline-start:4px}.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror{height:20px;line-height:20px;transition:all .3s}.ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px}.ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;left:0;z-index:999;white-space:pre;visibility:hidden}.ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;right:7px;left:7px;transform:translateY(-50%);transition:all .3s}.ant-select-multiple.ant-select-lg .ant-select-selector::after{line-height:26px}.ant-select-multiple.ant-select-lg .ant-select-selection-search{height:26px;line-height:26px}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:26px;line-height:24px}.ant-select-multiple.ant-select-sm .ant-select-selector::after{line-height:16px}.ant-select-multiple.ant-select-sm .ant-select-selection-item{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-search{height:16px;line-height:16px;margin-inline-start:3px}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{left:7px}.ant-select-multiple.ant-select-lg .ant-select-selection-item{height:24px;line-height:24px}.ant-select{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:relative;display:inline-block;cursor:pointer}.ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto}.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.25);background:#f5f5f5;cursor:not-allowed}.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#f5f5f5}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:0 0;border:none;outline:0;appearance:none}.ant-select-arrow,.ant-select-clear{position:absolute;right:7px;width:12px;height:12px;margin-top:-6px;font-size:12px;line-height:1;text-transform:none;text-align:center;font-style:normal}.ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input),.ant-cascader-picker:focus .ant-cascader-input{border-right-width:1px!important;border-color:#40a9ff}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.ant-select-arrow,.ant-select-arrow svg{display:inline-block}.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-selection-item{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media all and (-ms-high-contrast:none){.ant-select-selection-item,.ant-select-selection-item ::-ms-backdrop{flex:auto}}.ant-select-selection-placeholder{flex:1;overflow:hidden;color:#bfbfbf;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}@media all and (-ms-high-contrast:none){.ant-select-selection-placeholder,.ant-select-selection-placeholder ::-ms-backdrop{flex:auto}}.ant-select-arrow{color:inherit;vertical-align:-.125em;top:53%;color:rgba(0,0,0,.25);pointer-events:none}.ant-select-arrow>*{line-height:1}.ant-select-arrow::before{display:none}.ant-select-arrow .ant-select-arrow-icon{display:block}.ant-select-arrow .anticon{vertical-align:top;transition:transform .3s}.ant-select-arrow .anticon>svg{vertical-align:top}.ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto}.ant-select-disabled .ant-select-arrow{cursor:not-allowed}.ant-select-clear{top:50%;z-index:1;display:inline-block;color:rgba(0,0,0,.25);background:#fff;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease;text-rendering:auto}.ant-select-clear::before{display:block}.ant-select-clear:hover{color:rgba(0,0,0,.45)}.ant-select:hover .ant-select-clear{opacity:1}.ant-select-dropdown{margin:0;color:rgba(0,0,0,.85);line-height:1.66667;list-style:none;font-feature-settings:tnum;z-index:1050;box-sizing:border-box;padding:4px 0;overflow:hidden;font-size:12px;font-variant:initial;background-color:#fff;border-radius:2px;outline:0}.ant-select-dropdown-empty,.ant-select-item-empty{color:rgba(0,0,0,.25)}.ant-select-item,.ant-select-item-empty{display:block;padding:5px 8px;line-height:18px;font-size:12px;position:relative;min-height:28px;font-weight:400}.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownIn}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpOut}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownOut}.ant-select-item{color:rgba(0,0,0,.85);cursor:pointer;transition:background .3s ease}.ant-select-item-group{color:rgba(0,0,0,.45);font-size:12px;cursor:default}.ant-select-lg,.ant-spin-sm .ant-spin-dot{font-size:14px}.ant-select-item-option{display:flex}.ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-select-item-option-state{flex:none}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#f5f5f5}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:rgba(0,0,0,.85);font-weight:600;background-color:#e6f7ff}.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#1890ff}.ant-select-item-option-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-item-option-grouped{padding-left:16px}.ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-select-rtl .ant-select-arrow,.ant-select-rtl .ant-select-clear{right:initial;left:7px}.ant-select-dropdown-rtl .ant-select-item-option-grouped{padding-right:16px;padding-left:8px}.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:3px;padding-left:20px}.ant-select-rtl.ant-select-multiple .ant-select-selection-item{text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content{margin-right:0;margin-left:2px;text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror{right:0;left:auto}.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder{right:7px;left:auto}.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{right:7px}.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder{right:0;left:9px;text-align:right}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:7px;left:19px}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:15px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:6px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:18px}.ant-select-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;display:block}.ant-select-dropdown .cdk-virtual-scroll-content-wrapper{right:0}.ant-select-dropdown .full-width{contain:initial}.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper{position:static}.ant-skeleton{display:table;width:100%}.ant-skeleton-header{display:table-cell;padding-right:8px;vertical-align:top}.ant-skeleton-header .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:28px;height:28px;line-height:28px}.ant-skeleton-header .ant-skeleton-avatar-lg{width:32px;height:32px;line-height:32px}.ant-skeleton-header .ant-skeleton-avatar-sm{width:22px;height:22px;line-height:22px}.ant-skeleton-content{display:table-cell;width:100%;vertical-align:top}.ant-skeleton-content .ant-skeleton-title{width:100%;height:14px;margin-top:8px;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:20px}.ant-skeleton-content .ant-skeleton-paragraph{padding:0}.ant-skeleton-content .ant-skeleton-paragraph>li{width:100%;height:14px;list-style:none;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.ant-skeleton-content .ant-skeleton-paragraph>li+li{margin-top:12px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title{margin-top:8px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:20px}.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title{border-radius:100px}.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-image,.ant-skeleton.ant-skeleton-active .ant-skeleton-input{background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(129,129,129,.24) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;animation:ant-skeleton-loading 1.4s ease infinite}.ant-skeleton-element{display:inline-block;width:auto}.ant-skeleton-element .ant-skeleton-button{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);border-radius:2px;width:56px;height:28px;line-height:28px}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle{width:28px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round{border-radius:28px}.ant-skeleton-element .ant-skeleton-button-lg{width:64px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle{width:32px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round{border-radius:32px}.ant-skeleton-element .ant-skeleton-button-sm{width:44px;height:22px;line-height:22px}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle{width:22px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round{border-radius:22px}.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle,.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle{border-radius:50%}.ant-skeleton-element .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:28px;height:28px;line-height:28px}.ant-skeleton-element .ant-skeleton-avatar-lg{width:32px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-avatar-sm{width:22px;height:22px;line-height:22px}.ant-skeleton-element .ant-skeleton-input{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:100%;height:28px;line-height:28px}.ant-skeleton-element .ant-skeleton-input-lg{width:100%;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-input-sm{width:100%;height:22px;line-height:22px}.ant-skeleton-element .ant-skeleton-image{display:flex;align-items:center;justify-content:center;vertical-align:top;background:rgba(190,190,190,.2);width:96px;height:96px;line-height:96px}.ant-skeleton-element .ant-skeleton-image-path{fill:#bfbfbf}.ant-skeleton-element .ant-skeleton-image-svg{width:48px;height:48px;line-height:48px;max-width:192px;max-height:192px}.ant-slider,.ant-spin{font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;box-sizing:border-box}.ant-slider-rail,.ant-slider-track{border-radius:2px;transition:background-color .3s}@keyframes ant-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.ant-skeleton-rtl .ant-skeleton-header{padding-right:0;padding-left:16px}.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title{animation-name:ant-skeleton-loading-rtl}@keyframes ant-skeleton-loading-rtl{0%{background-position:0 50%}100%{background-position:100% 50%}}.ant-slider{color:rgba(0,0,0,.85);position:relative;height:12px;margin:10px 6px;padding:4px 0;cursor:pointer;touch-action:none}.ant-slider-vertical{width:12px;height:100%;margin:6px 10px;padding:0 4px}.ant-slider-vertical .ant-slider-rail{width:4px;height:100%}.ant-slider-vertical .ant-slider-track{width:4px}.ant-slider-vertical .ant-slider-handle{margin-top:-6px;margin-left:-5px}.ant-slider-vertical .ant-slider-mark{top:0;left:12px;width:18px;height:100%}.ant-slider-vertical .ant-slider-mark-text{left:4px;white-space:nowrap}.ant-slider-vertical .ant-slider-step{width:4px;height:100%}.ant-slider-vertical .ant-slider-dot{top:auto;left:2px;margin-bottom:-4px}.ant-slider-tooltip .ant-tooltip-inner{min-width:unset}.ant-slider-rtl.ant-slider-vertical .ant-slider-handle{margin-right:-5px;margin-left:0}.ant-slider-dot,.ant-slider-dot:first-child,.ant-slider-dot:last-child{margin-left:-4px}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark{right:12px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text{right:4px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-dot{right:2px;left:auto}.ant-slider-with-marks{margin-bottom:28px}.ant-slider-rail{position:absolute;width:100%;height:4px;background-color:#f5f5f5}.ant-slider-track{position:absolute;height:4px;background-color:#91d5ff}.ant-slider-handle{position:absolute;width:12px;height:12px;margin-top:-4px;background-color:#fff;border:2px solid #91d5ff;border-radius:50%;box-shadow:0;cursor:pointer;transition:border-color .3s,box-shadow .6s,transform .3s cubic-bezier(.18,.89,.32,1.28)}.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging,.ant-slider-handle:focus{border-color:#46a6ff;box-shadow:0 0 0 5px rgba(24,144,255,.12)}.ant-slider-handle:focus{outline:0}.ant-slider-handle.ant-tooltip-open{border-color:#1890ff}.ant-slider:hover .ant-slider-rail{background-color:#e1e1e1}.ant-slider:hover .ant-slider-track{background-color:#69c0ff}.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open){border-color:#69c0ff}.ant-slider-mark{position:absolute;top:14px;left:0;width:100%;font-size:12px}.ant-slider-mark-text{position:absolute;display:inline-block;color:rgba(0,0,0,.45);text-align:center;word-break:keep-all;cursor:pointer;user-select:none}.ant-slider-mark-text-active{color:rgba(0,0,0,.85)}.ant-slider-step{position:absolute;width:100%;height:4px;background:0 0}.ant-slider-dot{position:absolute;top:-2px;width:8px;height:8px;background-color:#fff;border:2px solid #f0f0f0;border-radius:50%;cursor:pointer}.ant-slider-dot-active{border-color:#8cc8ff}.ant-slider-disabled{cursor:not-allowed}.ant-slider-disabled .ant-slider-track{background-color:rgba(0,0,0,.25)!important}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-handle{background-color:#fff;border-color:rgba(0,0,0,.25)!important;box-shadow:none;cursor:not-allowed}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-mark-text{cursor:not-allowed!important}.ant-slider-rtl .ant-slider-mark{right:0;left:auto}.ant-slider-rtl .ant-slider-dot,.ant-slider-rtl .ant-slider-dot:first-child,.ant-slider-rtl .ant-slider-dot:last-child{margin-right:-4px;margin-left:0}.ant-spin{margin:0;padding:0;position:absolute;display:none;color:#1890ff;text-align:center;vertical-align:middle;opacity:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86)}.ant-spin-spinning{position:static;display:inline-block;opacity:1}.ant-spin-nested-loading{position:relative}.ant-spin-nested-loading>div>.ant-spin{position:absolute;top:0;left:0;z-index:4;display:block;width:100%;height:100%;max-height:400px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-dot{position:absolute;top:50%;left:50%;margin:-10px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:6px;text-shadow:0 1px 2px #fff}.ant-spin-nested-loading>div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-dot{margin:-7px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-text{padding-top:3px}.ant-spin-nested-loading>div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-dot{margin:-16px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-text{padding-top:12px}.ant-spin-nested-loading>div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px}.ant-statistic,.ant-steps{margin:0;line-height:1.66667;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-spin-container{position:relative;transition:opacity .3s}.ant-spin-container::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:none\9;width:100%;height:100%;background:#fff;opacity:0;transition:all .3s;content:'';pointer-events:none}.ant-spin-blur{clear:both;overflow:hidden;opacity:.5;user-select:none;pointer-events:none}.ant-spin-blur::after{opacity:.4;pointer-events:auto}.ant-spin-tip{color:rgba(0,0,0,.45)}.ant-spin-dot{position:relative;display:inline-block;width:1em;height:1em}.ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#1890ff;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.ant-spin-dot-item:nth-child(1){top:0;left:0}.ant-spin-dot-item:nth-child(2){top:0;right:0;animation-delay:.4s}.ant-spin-dot-item:nth-child(3){right:0;bottom:0;animation-delay:.8s}.ant-spin-dot-item:nth-child(4){bottom:0;left:0;animation-delay:1.2s}.ant-spin-dot-spin{transform:rotate(45deg);animation:antRotate 1.2s infinite linear}.ant-spin-sm .ant-spin-dot i{width:6px;height:6px}.ant-spin-lg .ant-spin-dot{font-size:32px}.ant-spin-lg .ant-spin-dot i{width:14px;height:14px}.ant-spin.ant-spin-show-text .ant-spin-text{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ant-spin-blur{background:#fff;opacity:.5}}@keyframes antSpinMove{to{opacity:1}}@keyframes antRotate{to{transform:rotate(405deg)}}.ant-spin-rtl .ant-spin-dot-spin{transform:rotate(-45deg);animation-name:antRotateRtl}@keyframes antRotateRtl{to{transform:rotate(-405deg)}}nz-spin{display:block}.ant-statistic{box-sizing:border-box;padding:0;color:rgba(0,0,0,.85);font-size:12px}.ant-statistic-title{margin-bottom:0;color:rgba(0,0,0,.45);font-size:12px}.ant-statistic-content{color:rgba(0,0,0,.85);font-size:20px}.ant-statistic-content-value{display:inline-block;direction:ltr}.ant-cascader-menu-rtl .ant-cascader-menu,.ant-cascader-picker-rtl,.ant-statistic-rtl,.ant-steps-rtl,.ant-switch-rtl,.ant-table-rtl,.ant-table-wrapper-rtl,.ant-tabs-dropdown-rtl,.ant-tabs-rtl,.ant-tag.ant-tag-rtl,.ant-timeline-rtl,.ant-tooltip-rtl,.ant-transfer-rtl,.ant-typography-rtl,.ant-upload-list-rtl,.ant-upload-rtl{direction:rtl}.ant-statistic-content-prefix,.ant-statistic-content-suffix{display:inline-block}.ant-statistic-content-prefix{margin-right:4px}.ant-statistic-content-suffix{margin-left:4px}.ant-statistic-rtl .ant-statistic-content-prefix{margin-right:0;margin-left:4px}.ant-statistic-rtl .ant-statistic-content-suffix{margin-right:4px;margin-left:0}.ant-steps{box-sizing:border-box;padding:0;color:rgba(0,0,0,.85);display:flex;width:100%;font-size:0;text-align:initial}.ant-steps-item{position:relative;display:inline-block;flex:1;overflow:hidden;vertical-align:top}.ant-steps-item-container{outline:0}.ant-steps-item:last-child{flex:none}.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-tail{display:none}.ant-steps-item-content,.ant-steps-item-icon{display:inline-block;vertical-align:top}.ant-steps-item-icon{width:24px;height:24px;margin:2px 8px 2px 0;font-size:12px;line-height:24px;text-align:center;border:1px solid rgba(0,0,0,.25);border-radius:24px;transition:background-color .3s,border-color .3s}.ant-steps-item-icon .ant-steps-icon{position:relative;top:0;color:#1890ff;line-height:1}.ant-steps-item-tail{position:absolute;top:12px;left:0;width:100%;padding:0 10px}.ant-steps-item-tail::after{display:inline-block;width:100%;height:1px;background:#f0f0f0;border-radius:1px;transition:background .3s;content:''}.ant-steps-item-title{position:relative;display:inline-block;padding-right:16px;color:rgba(0,0,0,.85);font-size:14px;line-height:28px}.ant-steps-item-description,.ant-steps-item-subtitle{color:rgba(0,0,0,.45);font-size:12px}.ant-steps-item-title::after{position:absolute;top:14px;left:100%;display:block;width:9999px;height:1px;background:#f0f0f0;content:''}.ant-steps-item-subtitle{display:inline;margin-left:8px;font-weight:400}.ant-steps-item-wait .ant-steps-item-icon{background-color:#fff;border-color:rgba(0,0,0,.25)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon{color:rgba(0,0,0,.25)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(0,0,0,.45)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:rgba(0,0,0,.25)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#f0f0f0}.ant-steps-item-process .ant-steps-item-icon{background-color:#fff;border-color:#1890ff}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(0,0,0,.85)}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#f0f0f0}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon{background:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon .ant-steps-icon{color:#fff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-title{font-weight:500}.ant-steps-item-finish .ant-steps-item-icon{background-color:#fff;border-color:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#1890ff}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title,.ant-switch{color:rgba(0,0,0,.85)}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(0,0,0,.45)}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#ff4d4f}.ant-steps-item-error .ant-steps-item-icon{background-color:#fff;border-color:#ff4d4f}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#ff4d4f}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-tail::after,.g2-radar__legend-item::after,.number-info:not(:first-child)::after{background-color:#f0f0f0}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-title,.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after{background:#ff4d4f}.ant-steps-item-disabled{cursor:not-allowed}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]{cursor:pointer}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-title{transition:color .3s}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon{border-color:#1890ff}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:16px;white-space:nowrap}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-right:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail{display:none}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description{max-width:140px;white-space:normal}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon{height:auto;background:0 0;border:0}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon>.ant-steps-icon{top:2px;left:.5px;width:20px;height:20px;font-size:20px;line-height:20px}.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon{width:auto;background:0 0}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:12px}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-small .ant-steps-item-icon{width:20px;height:20px;margin:0 8px 0 0;font-size:12px;line-height:20px;text-align:center;border-radius:20px}.ant-steps-small .ant-steps-item-title{padding-right:12px;font-size:12px;line-height:20px}.ant-steps-small .ant-steps-item-title::after{top:10px}.ant-steps-small .ant-steps-item-description{color:rgba(0,0,0,.45);font-size:12px}.ant-steps-small .ant-steps-item-tail{top:8px}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon{width:inherit;height:inherit;line-height:inherit;background:0 0;border:0;border-radius:0}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{font-size:20px;line-height:20px;transform:none}.ant-steps-vertical{display:flex;flex-direction:column}.ant-steps-vertical>.ant-steps-item{display:block;flex:1 0 auto;padding-left:0;overflow:visible}.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:left;margin-right:12px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-content{display:block;min-height:48px;overflow:hidden}.ant-steps-vertical>.ant-steps-item .ant-steps-item-title{line-height:24px}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title,.ant-switch{line-height:20px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-description{padding-bottom:12px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{position:absolute;top:0;left:12px;width:1px;height:100%;padding:30px 0 6px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail::after{width:1px;height:100%}.ant-steps-vertical>.ant-steps-item:not(:last-child)>.ant-steps-item-container>.ant-steps-item-tail{display:block}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{display:none}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{position:absolute;top:0;left:10px;padding:26px 0 6px}.ant-steps-label-vertical .ant-steps-item{overflow:visible}.ant-steps-label-vertical .ant-steps-item-tail{margin-left:58px;padding:3.5px 24px}.ant-steps-label-vertical .ant-steps-item-content{display:block;width:108px;margin-top:8px;text-align:center}.ant-steps-label-vertical .ant-steps-item-icon{display:inline-block;margin-left:42px}.ant-steps-label-vertical .ant-steps-item-title{padding-right:0;padding-left:0}.ant-steps-label-vertical .ant-steps-item-title::after{display:none}.ant-steps-label-vertical .ant-steps-item-subtitle{display:block;margin-bottom:4px;margin-left:0;line-height:1.66667}.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon{margin-left:46px}.ant-steps-dot .ant-steps-item-title,.ant-steps-dot.ant-steps-small .ant-steps-item-title{line-height:1.66667}.ant-steps-dot .ant-steps-item-tail,.ant-steps-dot.ant-steps-small .ant-steps-item-tail{top:4px;width:100%;margin:0 0 0 70px;padding:0}.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{width:calc(100% - 20px);height:3px;margin-left:12px}.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{left:2px}.ant-steps-dot .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-icon{width:8px;height:8px;margin-left:67px;padding-right:0;line-height:8px;background:0 0;border:0}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{position:relative;float:left;width:100%;height:100%;border-radius:100px;transition:all .3s}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{position:absolute;top:-12px;left:-26px;width:60px;height:32px;background:rgba(0,0,0,.001);content:''}.ant-steps-dot .ant-steps-item-content,.ant-steps-dot.ant-steps-small .ant-steps-item-content{width:140px}.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{position:relative;top:-1px;width:10px;height:10px;line-height:10px;background:0 0}.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-top:8px;margin-left:0;background:0 0}.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:2px;left:-9px;margin:0;padding:22px 0 4px}.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-content{width:inherit}.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{left:-2px}.ant-steps-navigation{padding-top:12px}.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-left:-12px}.ant-steps-navigation .ant-steps-item{overflow:visible;text-align:center}.ant-steps-navigation .ant-steps-item-container{display:inline-block;height:100%;margin-left:-16px;padding-bottom:12px;text-align:left;transition:opacity .3s}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after,.ant-steps-navigation .ant-steps-item:last-child::after{display:none}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content{max-width:auto}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{max-width:100%;padding-right:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]{cursor:pointer}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]:hover{opacity:.85}.ant-steps-navigation .ant-steps-item:last-child{flex:1}.ant-steps-navigation .ant-steps-item::after{position:absolute;top:50%;left:100%;display:inline-block;width:12px;height:12px;margin-top:-14px;margin-left:-2px;border:1px solid rgba(0,0,0,.25);border-bottom:none;border-left:none;transform:rotate(45deg);content:''}.ant-steps-navigation .ant-steps-item::before{position:absolute;bottom:0;left:50%;display:inline-block;width:0;height:2px;background-color:#1890ff;transition:width .3s,left .3s;transition-timing-function:ease-out;content:''}.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before{left:0;width:100%}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item{margin-right:0!important}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::before{display:none}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item.ant-steps-item-active::before{top:0;right:0;left:unset;display:block;width:3px;height:calc(100% - 24px)}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::after{position:relative;top:-2px;left:50%;display:block;width:8px;height:8px;margin-bottom:8px;text-align:center;transform:rotate(135deg)}.ant-switch,nz-switch{display:inline-block}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden}.ant-steps.ant-steps-rtl .ant-steps-item-icon{margin-right:0;margin-left:8px}.ant-steps-rtl .ant-steps-item-tail{right:0;left:auto}.ant-steps-rtl .ant-steps-item-title{padding-right:0;padding-left:16px}.ant-steps-rtl .ant-steps-item-title::after{right:100%;left:auto}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:16px;padding-left:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-left:0}.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{right:.5px;left:auto}.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-right:-12px;margin-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container{margin-right:-16px;margin-left:0;text-align:right}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after{right:100%;left:auto;margin-right:-2px;margin-left:0;transform:rotate(225deg)}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:12px;padding-left:0}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-small .ant-steps-item-title{padding-right:0;padding-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:right;margin-right:0;margin-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:12px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{right:10px;left:auto}.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail{margin:0 70px 0 0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{margin-right:12px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{right:2px;left:auto}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-right:67px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{float:right}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{right:-26px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:-9px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{right:0;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot{right:-2px;left:auto}.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active{padding-right:4px}.ant-steps-with-progress .ant-steps-item{padding-top:4px}.ant-steps-with-progress .ant-steps-item .ant-steps-item-tail{top:4px!important}.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child{padding-bottom:4px;padding-left:4px}.ant-steps-with-progress .ant-steps-item-icon{position:relative}.ant-steps-with-progress .ant-steps-item-icon .ant-progress{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.ant-switch{margin:0;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;box-sizing:border-box;min-width:40px;height:20px;vertical-align:middle;background-color:rgba(0,0,0,.25);border:0;border-radius:100px;cursor:pointer;transition:all .2s;user-select:none}.ant-switch:focus{outline:0;box-shadow:0 0 0 2px rgba(0,0,0,.1)}.ant-switch-checked:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-switch:focus:hover{box-shadow:none}.ant-switch-checked{background-color:#1890ff}.ant-switch-disabled,.ant-switch-loading{cursor:not-allowed;opacity:.4}.ant-switch-disabled *,.ant-switch-loading *{box-shadow:none;cursor:not-allowed}.ant-switch-inner{display:block;margin:0 4px 0 22px;color:#fff;font-size:12px;transition:margin .2s}.ant-switch-handle,.ant-switch-handle::before,.img-thm__icon,.img-thm__mask{transition:all .2s ease-in-out}.ant-switch-checked .ant-switch-inner{margin:0 22px 0 4px}.ant-switch-handle{position:absolute;top:2px;left:2px;width:16px;height:16px}.ant-switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px 0 rgba(0,35,11,.2);content:''}.ant-switch-checked .ant-switch-handle{left:calc(100% - 16px - 2px)}.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before{right:-30%;left:0}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before{right:0;left:-30%}.ant-switch-loading-icon{position:relative;top:2px;color:rgba(0,0,0,.65);vertical-align:top}.ant-switch-checked .ant-switch-loading-icon{color:#1890ff}.ant-switch-small{min-width:24px;height:14px;line-height:14px}.ant-table,.ant-table-filter-dropdown,.ant-tabs-dropdown{line-height:1.66667;font-feature-settings:tnum;list-style:none;font-variant:tabular-nums;box-sizing:border-box}.ant-switch-small .ant-switch-inner{margin:0 5px 0 16px;font-size:12px}.ant-switch-small .ant-switch-handle{width:10px;height:10px}.ant-switch-small .ant-switch-loading-icon{top:.5px;font-size:9px}.ant-switch-small.ant-switch-checked .ant-switch-inner{margin:0 16px 0 5px}.ant-switch-small.ant-switch-checked .ant-switch-handle{left:calc(100% - 10px - 2px)}.ant-switch-rtl .ant-switch-inner{margin:0 22px 0 4px}.ant-switch-rtl .ant-switch-handle{right:2px;left:auto}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before{right:0;left:-30%}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before{right:-30%;left:0}.ant-switch-rtl.ant-switch-checked .ant-switch-inner{margin:0 4px 0 22px}.ant-switch-rtl.ant-switch-checked .ant-switch-handle{right:calc(100% - 16px - 2px)}.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle{right:calc(100% - 10px - 2px)}.ant-table-wrapper::after,.ant-table-wrapper::before{display:table;content:''}.ant-table.ant-table-middle{font-size:12px}.ant-table.ant-table-middle .ant-table-footer,.ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table.ant-table-middle .ant-table-title,.ant-table.ant-table-middle tfoot>tr>td,.ant-table.ant-table-middle tfoot>tr>th{padding:8px}.ant-table.ant-table-middle .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-8px}.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-8px -8px -8px 25px}.ant-table.ant-table-small{font-size:12px}.ant-table.ant-table-small .ant-table-footer,.ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table.ant-table-small .ant-table-title,.ant-table.ant-table-small tfoot>tr>td,.ant-table.ant-table-small tfoot>tr>th{padding:4px}.ant-table.ant-table-small .ant-table-filter-trigger{margin-right:-2px}.ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-4px}.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-4px -4px -4px 21px}.ant-table-small .ant-table-thead>tr>th{background-color:#fafafa}.ant-table-small .ant-table-selection-column{width:46px;min-width:46px}.ant-table.ant-table-bordered>.ant-table-title{border:1px solid #f0f0f0;border-bottom:0}.ant-table.ant-table-bordered>.ant-table-container{border:1px solid #f0f0f0;border-right:0;border-bottom:0}.ant-table-thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th::before{background-color:transparent!important}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #f0f0f0;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-4px -5px}.ant-table.ant-table-bordered>.ant-table-footer{border:1px solid #f0f0f0;border-top:0}.ant-table-cell .ant-table-container:first-child{border-top:0}.ant-table-cell-scrollbar{box-shadow:0 1px 0 1px #fafafa}.ant-table-wrapper{clear:both;max-width:100%}.ant-table-wrapper::after{clear:both}.ant-table{margin:0;padding:0;color:rgba(0,0,0,.85);position:relative;font-size:12px;background:#fff;border-radius:2px}.ant-table-footer,.ant-table-thead>tr>th{color:rgba(0,0,0,.85);background:#fafafa}.ant-table table{width:100%;text-align:left;border-radius:2px 2px 0 0;border-collapse:separate;border-spacing:0}.ant-table tfoot>tr>td,.ant-table tfoot>tr>th,.ant-table-tbody>tr>td,.ant-table-thead>tr>th{position:relative;padding:12px 8px;overflow-wrap:break-word}.ant-table-cell-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:visible}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis}.ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;word-break:keep-all}.ant-table-footer,.ant-table-title{padding:12px 8px}.ant-table-thead>tr>th{position:relative;font-weight:500;text-align:left;transition:background .3s ease}.ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before{position:absolute;top:50%;right:0;width:1px;height:1.6em;background-color:rgba(0,0,0,.06);transform:translateY(-50%);transition:background-color .3s;content:''}.ant-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0;transition:background .3s}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.notice-icon .ant-list-item:last-child{border-bottom:0}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table{margin:-12px -8px -12px 25px}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child{border-radius:0}.ant-table-tbody>tr.ant-table-row:hover>td{background:#fafafa}.ant-table-tbody>tr.ant-table-row-selected>td{background:#e6f7ff;border-color:rgba(0,0,0,.03)}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background:#dcf4ff}.ant-table-summary{background:#fff}div.ant-table-summary{box-shadow:0 -1px 0 #f0f0f0}.ant-table-summary>tr>td,.ant-table-summary>tr>th{border-bottom:1px solid #f0f0f0}.ant-table-pagination.ant-pagination{margin:16px 0}.ant-table-pagination{display:flex;flex-wrap:wrap;row-gap:4px}.ant-table-pagination>*{flex:none}.ant-table-pagination-left{justify-content:flex-start}.ant-table-pagination-center{justify-content:center}.ant-table-pagination-right{justify-content:flex-end}.ant-table-thead th.ant-table-column-has-sorters{cursor:pointer;transition:all .3s}.ant-table-thead th.ant-table-column-has-sorters:hover{background:rgba(0,0,0,.04)}.ant-table-thead th.ant-table-column-has-sorters:hover::before{background-color:transparent!important}.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover,.ant-table-thead th.ant-table-column-sort{background:#f5f5f5}.ant-table-thead th.ant-table-column-sort::before{background-color:transparent!important}td.ant-table-column-sort{background:#fafafa}.ant-table-column-title{position:relative;z-index:1;flex:1}.ant-table-column-sorters{display:flex;flex:auto;align-items:center;justify-content:space-between}.ant-table-column-sorters::after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;content:''}.ant-table-column-sorter{color:#bfbfbf;font-size:0;transition:color .3s}.ant-table-column-sorter-inner{display:inline-flex;flex-direction:column;align-items:center}.ant-table-filter-column,.ant-table-filter-dropdown-btns{display:flex;justify-content:space-between}.ant-table-column-sorter-down,.ant-table-column-sorter-up{font-size:11px}.ant-table-column-sorter-down.active,.ant-table-column-sorter-up.active{color:#1890ff}.ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-.3em}.ant-table-column-sorters:hover .ant-table-column-sorter{color:#a6a6a6}.ant-table-filter-trigger{position:relative;display:flex;align-items:center;margin:-4px -4px -4px 4px;padding:0 4px;color:#bfbfbf;font-size:12px;border-radius:2px;cursor:pointer;transition:all .3s}.ant-table-filter-trigger:hover{color:rgba(0,0,0,.45);background:rgba(0,0,0,.04)}.ant-table-filter-trigger.active{color:#1890ff}.ant-table-filter-dropdown{margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;min-width:120px;background-color:#fff;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-table-filter-dropdown .ant-dropdown-menu{max-height:264px;overflow-x:hidden;border:0;box-shadow:none}.ant-table-filter-dropdown-submenu>ul{max-height:calc(100vh - 130px);overflow-x:hidden;overflow-y:auto}.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-left:8px}.ant-table-filter-dropdown-btns{padding:7px 8px 7px 3px;overflow:hidden;background-color:inherit;border-top:1px solid #f0f0f0}.ant-table-selection-col{width:32px}.ant-table-bordered .ant-table-selection-col{width:50px}table tr td.ant-table-selection-column,table tr th.ant-table-selection-column{padding-right:4px;padding-left:4px;text-align:center}table tr td.ant-table-selection-column .ant-radio-wrapper,table tr th.ant-table-selection-column .ant-radio-wrapper{margin-right:0}table tr th.ant-table-selection-column::after{background-color:transparent!important}.ant-table-selection{position:relative;display:inline-flex;flex-direction:column}.ant-table-selection-extra{position:absolute;top:0;z-index:1;cursor:pointer;transition:all .3s;margin-inline-start:100%;padding-inline-start:0}.ant-table-selection-extra .anticon{color:#bfbfbf;font-size:10px}.ant-table-selection-extra .anticon:hover{color:#a6a6a6}.ant-table-expand-icon-col{width:48px}.ant-table-row-expand-icon-cell{text-align:center}.ant-table-row-indent{float:left;height:1px}.ant-table-row-expand-icon{text-decoration:none;cursor:pointer;position:relative;display:inline-flex;float:left;box-sizing:border-box;width:17px;height:17px;padding:0;color:inherit;line-height:17px;background:#fff;border:1px solid #f0f0f0;border-radius:2px;outline:0;transform:scale(.82352941);transition:all .3s;user-select:none}.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{color:#40a9ff}.ant-table-row-expand-icon:active{color:#096dd9}.ant-table-row-expand-icon:active,.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{border-color:currentColor}.ant-table-row-expand-icon::after,.ant-table-row-expand-icon::before{position:absolute;background:currentColor;transition:transform .3s ease-out;content:''}.ant-table-row-expand-icon::before{top:7px;right:3px;left:3px;height:1px}.ant-table-row-expand-icon::after{top:3px;bottom:3px;left:7px;width:1px;transform:rotate(90deg)}.ant-table-row-expand-icon-collapsed::before{transform:rotate(-180deg)}.ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}.ant-table-row-expand-icon-spaced{background:0 0;border:0;visibility:hidden}.ant-table-row-expand-icon-spaced::after,.ant-table-row-expand-icon-spaced::before{display:none;content:none}.ant-table-row-indent+.ant-table-row-expand-icon{margin-top:1.5px;margin-right:4px}tr.ant-table-expanded-row:hover>td,tr.ant-table-expanded-row>td{background:#fbfbfb}tr.ant-table-expanded-row .ant-descriptions-view{display:flex}tr.ant-table-expanded-row .ant-descriptions-view table{flex:auto;width:auto}.ant-table .ant-table-expanded-row-fixed{position:relative;margin:-12px -8px;padding:12px 8px}.ant-table-tbody>tr.ant-table-placeholder{text-align:center}.ant-table-empty .ant-table-tbody>tr.ant-table-placeholder{color:rgba(0,0,0,.25)}.ant-table-tbody>tr.ant-table-placeholder:hover>td{background:#fff}.ant-table-cell-fix-left,.ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#fff}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before,.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after,.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{position:absolute;transition:box-shadow .3s;width:30px;top:0;content:'';pointer-events:none}.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after{right:0;bottom:-1px;transform:translateX(100%)}.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{bottom:-1px;left:0;transform:translateX(-100%)}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before{bottom:0;z-index:1}.ant-table .ant-table-container::before{left:0}.ant-table .ant-table-container::after{right:0}.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container{position:relative}.ant-table-ping-left .ant-table-cell-fix-left-first::after,.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before{box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.15)}.ant-table-ping-left .ant-table-cell-fix-left-last::before{background-color:transparent!important}.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container{position:relative}.ant-table-sticky-holder,.ant-table-sticky-scroll{position:sticky;z-index:3}.ant-table-ping-right .ant-table-cell-fix-right-first::after,.ant-table-ping-right .ant-table-cell-fix-right-last::after,.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.15)}.ant-table-sticky-scroll{bottom:0;display:flex;align-items:center;background:#fff;border-top:1px solid #f0f0f0;opacity:.6}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after{opacity:1}.ant-table-sticky-scroll:hover{transform-origin:center bottom}.ant-table-sticky-scroll-bar{height:8px;background-color:rgba(0,0,0,.35);border-radius:4px}.ant-table-sticky-scroll-bar-active,.ant-table-sticky-scroll-bar:hover{background-color:rgba(0,0,0,.8)}@media all and (-ms-high-contrast:none){.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-right .ant-table-cell-fix-right-first::after{box-shadow:none!important}}.ant-table-title{border-radius:2px 2px 0 0}.ant-table-title+.ant-table-container{border-top-left-radius:0;border-top-right-radius:0}.ant-table-title+.ant-table-container table>thead>tr:first-child th:first-child,.ant-table-title+.ant-table-container table>thead>tr:first-child th:last-child{border-radius:0}.ant-table-container,.ant-table-container table>thead>tr:first-child th:first-child{border-top-left-radius:2px}.ant-table-container,.ant-table-container table>thead>tr:first-child th:last-child{border-top-right-radius:2px}.ant-table-footer{border-radius:0 0 2px 2px}.ant-table-wrapper-rtl .ant-table table{text-align:right}.ant-table-wrapper-rtl .ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-wrapper-rtl .ant-table-thead>tr>th{text-align:right}.ant-table-wrapper-rtl .ant-table thead>tr>th.ant-table-selection-column,.ant-table-wrapper-rtl .ant-table-selection{text-align:center}.ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl{margin:-12px 25px -12px -8px}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left{justify-content:flex-end}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right{justify-content:flex-start}.ant-table-wrapper-rtl .ant-table-column-sorter{margin-right:4px;margin-left:0}.ant-table-wrapper-rtl .ant-table-filter-column-title{padding:12px 8px 12px 2.3em}.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title{padding:0 0 0 2.3em}.ant-table-wrapper-rtl .ant-table-filter-trigger-container{right:auto;left:0}.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-right:8px;padding-left:0}.ant-table-wrapper-rtl .ant-table-row-expand-icon,.ant-table-wrapper-rtl .ant-table-row-indent{float:right}.ant-table-wrapper-rtl .ant-table-row-indent+.ant-table-row-expand-icon{margin-right:0;margin-left:4px}.ant-table-wrapper-rtl .ant-table-row-expand-icon::after{transform:rotate(-90deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before{transform:rotate(180deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}nz-table,nz-table-inner-default,nz-table-inner-scroll,nz-table-selection,nz-table-title-footer{display:block}nz-filter-trigger{display:inline-flex}.nz-table-out-bordered>.ant-table-container,.nz-table-out-bordered>.ant-table-title{border:1px solid #f0f0f0;border-bottom:0}.nz-table-out-bordered>.ant-table-footer{border:1px solid #f0f0f0;border-top:0}cdk-virtual-scroll-viewport.ant-table-body{overflow-y:scroll}.nz-table-hide-scrollbar{scrollbar-color:#fafafa #fafafa}.nz-table-hide-scrollbar::-webkit-scrollbar{background-color:#fafafa}.ant-table.ant-table-small .nz-table-hide-scrollbar{scrollbar-color:#fafafa #fafafa}.ant-table.ant-table-small .nz-table-hide-scrollbar::-webkit-scrollbar{background-color:transparent}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>th{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #f0f0f0;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-4px -5px}.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:4px 0;font-size:12px}.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:8px 0;font-size:14px}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:6px 8px}.ant-tabs-card.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:7px 8px 6px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type{margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:0;margin-left:8px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove{margin-right:4px;margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-rtl.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-rtl.ant-tabs-right>.ant-tabs-nav{order:0}.ant-tabs-rtl.ant-tabs-right>.ant-tabs-content-holder{order:1}.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-right:0;margin-left:2px}.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item{text-align:right}.ant-tabs-bottom,.ant-tabs-top{flex-direction:column}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav,.ant-tabs-top>.ant-tabs-nav,.ant-tabs-top>div>.ant-tabs-nav{margin:0 0 8px}.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav::before,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav::before{position:absolute;right:0;left:0;border-bottom:1px solid #f0f0f0;content:''}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar{height:2px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:width .3s,left .3s,right .3s}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;bottom:0;width:30px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{left:0;box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{right:0;box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav::before{bottom:0}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav{order:1;margin-top:8px;margin-bottom:0}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav::before{top:0}.ant-tabs-bottom>.ant-tabs-content-holder,.ant-tabs-bottom>div>.ant-tabs-content-holder{order:0}.ant-tabs-left>.ant-tabs-nav,.ant-tabs-left>div>.ant-tabs-nav,.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{flex-direction:column;min-width:50px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{padding:4px 16px;text-align:center}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin:8px 0 0}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap{flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{right:0;left:0;height:30px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;box-shadow:inset 0 10px 8px -8px rgba(0,0,0,.08)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{bottom:0;box-shadow:inset 0 -10px 8px -8px rgba(0,0,0,.08)}.ant-cascader-menus,.ant-tabs-dropdown-menu,.ant-tooltip-inner,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{width:2px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:height .3s,top .3s}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-operations{flex:1 0 auto;flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar{right:0}.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-left>div>.ant-tabs-content-holder{margin-left:-1px;border-left:1px solid #f0f0f0}.ant-tabs-left>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-left>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-left:16px}.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{order:1}.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{left:0}.ant-tabs-right>.ant-tabs-content-holder,.ant-tabs-right>div>.ant-tabs-content-holder{order:0;margin-right:-1px;border-right:1px solid #f0f0f0}.ant-tabs-right>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-right>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-right:16px}.ant-tabs-dropdown{margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-tabs-dropdown-hidden{display:none}.ant-tabs-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:0}.ant-tabs-dropdown-menu-item{min-width:120px;margin:0;padding:5px 8px;overflow:hidden;color:rgba(0,0,0,.85);font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-tabs,.ant-timeline,.ant-tooltip,.ant-transfer{line-height:1.66667;font-feature-settings:tnum}.ant-tabs-dropdown-menu-item:hover{background:#f5f5f5}.ant-tabs-dropdown-menu-item-disabled,.ant-tabs-dropdown-menu-item-disabled:hover{color:rgba(0,0,0,.25);background:0 0;cursor:not-allowed}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0;padding:4px 8px;background:#fafafa;border:1px solid #f0f0f0;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{color:#1890ff;background:#fff}.ant-tabs-card>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-ink-bar{visibility:hidden}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:2px}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 2px 0 0}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom-color:#fff}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 2px 2px}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab-active{border-top-color:#fff}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 0 0 2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab-active{border-right-color:#fff}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 2px 2px 0}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab-active{border-left-color:#fff}.ant-tabs{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;list-style:none;display:flex;overflow:hidden}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{position:relative;display:flex;flex:none;align-items:center}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap{position:relative;display:inline-block;display:flex;flex:auto;align-self:stretch;overflow:hidden;white-space:nowrap;transform:translate(0)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{position:absolute;z-index:1;opacity:0;transition:opacity .3s;content:'';pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-list{position:relative;display:flex;transition:transform .3s}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations{display:flex;align-self:stretch}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations-hidden,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations-hidden{position:absolute;visibility:hidden;pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more{position:relative;padding:4px 8px;background:0 0;border:0}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more::after{position:absolute;right:0;bottom:0;left:0;height:5px;transform:translateY(100%);content:''}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add{min-width:40px;padding:0 4px;background:#fafafa;border:1px solid #f0f0f0;border-radius:2px 2px 0 0;outline:0;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:hover,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:hover{color:#40a9ff}.ant-tabs-tab-btn:active,.ant-tabs-tab-btn:focus,.ant-tabs-tab-remove:active,.ant-tabs-tab-remove:focus,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:focus,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:focus{color:#096dd9}.ant-tabs-extra-content{flex:none}.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]),.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]){justify-content:center}.ant-tabs-ink-bar{position:absolute;background:#1890ff;pointer-events:none}.ant-tabs-dropdown-menu-item a[nz-tab-link],.ant-tabs-tab{position:relative}.ant-tabs-tab,.ant-tabs-tab-remove{background:0 0;cursor:pointer;font-size:12px;outline:0}.ant-tabs-tab{display:inline-flex;align-items:center;padding:8px 0;border:0}.ant-tabs-tab-btn{outline:0;transition:all .3s}.ant-tabs-tab-remove{flex:none;margin-right:0;margin-left:4px;color:rgba(0,0,0,.45);border:none;transition:all .3s}.ant-tabs-tab-remove:hover{color:rgba(0,0,0,.85)}.ant-tabs-tab:hover{color:#40a9ff}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#1890ff;text-shadow:0 0 .25px currentColor}.ant-tabs-tab.ant-tabs-tab-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus{color:rgba(0,0,0,.25)}.ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-tab .anticon{margin-right:8px}.ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-content{display:flex;width:100%}.ant-tabs-content-holder{flex:auto;min-width:0;min-height:0}.ant-tabs-content-animated{transition:margin .3s}.ant-tabs-tabpane{flex:none;width:100%;outline:0}a[nz-tab-link]::before{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;content:''}a[nz-tab-link]~*{position:relative}nz-tab-nav-operation,nz-tabs-nav,nz-tabset{display:block}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:0}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item{min-width:120px;margin:0;padding:5px 8px;overflow:hidden;color:rgba(0,0,0,.85);font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover{background:#f5f5f5}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover{color:rgba(0,0,0,.25);background:0 0;cursor:not-allowed}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a{pointer-events:none;color:rgba(0,0,0,.25)}.ant-tabs-rtl .ant-tabs-rtl-tab-next{right:auto;left:2px}.ant-tabs-tab-disabled a{pointer-events:none;color:rgba(0,0,0,.25)}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:18px;white-space:nowrap;background:#fafafa;border:1px solid #d9d9d9;border-radius:2px;opacity:1;transition:all .3s}.ant-tag-checkable,.ant-tag-has-color{border-color:transparent}.ant-tag,.ant-tag a,.ant-tag a:hover{color:rgba(0,0,0,.85)}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-hidden,.ant-timeline-item-last>.ant-timeline-item-tail,.ant-timeline-item-pending .ant-timeline-item-tail{display:none}.ant-tag-close-icon{margin-left:3px;color:rgba(0,0,0,.45);font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:rgba(0,0,0,.85)}.ant-tag-has-color,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover,.ant-tag-has-color a,.ant-tag-has-color a:hover{color:#fff}.ant-tag-checkable{background-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#1890ff}.ant-tag-checkable-checked,.ant-tag-checkable:active{color:#fff}.ant-tag-checkable-checked{background-color:#1890ff}.ant-tag-checkable:active{background-color:#096dd9}.ant-tag-pink{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-pink-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-magenta{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-magenta-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-red{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.ant-tag-red-inverse{color:#fff;background:#f5222d;border-color:#f5222d}.ant-tag-volcano{color:#d4380d;background:#fff2e8;border-color:#ffbb96}.ant-tag-volcano-inverse{color:#fff;background:#fa541c;border-color:#fa541c}.ant-tag-orange{color:#d46b08;background:#fff7e6;border-color:#ffd591}.ant-tag-orange-inverse{color:#fff;background:#fa8c16;border-color:#fa8c16}.ant-tag-yellow{color:#d4b106;background:#feffe6;border-color:#fffb8f}.ant-tag-yellow-inverse{color:#fff;background:#fadb14;border-color:#fadb14}.ant-tag-gold{color:#d48806;background:#fffbe6;border-color:#ffe58f}.ant-tag-gold-inverse{color:#fff;background:#faad14;border-color:#faad14}.ant-tag-cyan{color:#08979c;background:#e6fffb;border-color:#87e8de}.ant-tag-cyan-inverse{color:#fff;background:#13c2c2;border-color:#13c2c2}.ant-tag-lime{color:#7cb305;background:#fcffe6;border-color:#eaff8f}.ant-tag-lime-inverse{color:#fff;background:#a0d911;border-color:#a0d911}.ant-tag-green{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}.ant-tag-green-inverse{color:#fff;background:#52c41a;border-color:#52c41a}.ant-tag-blue{color:#096dd9;background:#e6f7ff;border-color:#91d5ff}.ant-tag-blue-inverse{color:#fff;background:#1890ff;border-color:#1890ff}.ant-tag-geekblue{color:#1d39c4;background:#f0f5ff;border-color:#adc6ff}.ant-tag-geekblue-inverse{color:#fff;background:#2f54eb;border-color:#2f54eb}.ant-tag-purple{color:#531dab;background:#f9f0ff;border-color:#d3adf7}.ant-tag-purple-inverse{color:#fff;background:#722ed1;border-color:#722ed1}.ant-tag-success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.ant-tag-processing{color:#1890ff;background:#e6f7ff;border-color:#91d5ff}.ant-tag-error{color:#f5222d;background:#fff1f0;border-color:#ffa39e}.ant-tag-warning{color:#fa8c16;background:#fff7e6;border-color:#ffd591}.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.ant-timeline,.ant-timeline-item{margin:0;list-style:none;font-size:12px}.ant-timeline{box-sizing:border-box;color:rgba(0,0,0,.85);font-variant:tabular-nums;padding:0}.ant-timeline-item{position:relative;padding-bottom:20px}.ant-timeline-item-tail{position:absolute;top:10px;left:4px;height:calc(100% - 10px);border-left:2px solid #f0f0f0}.ant-timeline-item-pending .ant-timeline-item-head{font-size:12px;background-color:transparent}.ant-timeline-item-head{position:absolute;width:10px;height:10px;background-color:#fff;border:2px solid transparent;border-radius:100px}.ant-timeline-item-head-blue{color:#1890ff;border-color:#1890ff}.ant-timeline-item-head-red{color:#ff4d4f;border-color:#ff4d4f}.ant-timeline-item-head-green{color:#52c41a;border-color:#52c41a}.ant-timeline-item-head-gray{color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-tooltip,.ant-transfer{color:rgba(0,0,0,.85);list-style:none}.ant-timeline-item-head-custom{position:absolute;top:5.5px;left:5px;width:auto;height:auto;margin-top:0;padding:3px 1px;line-height:1;text-align:center;border:0;border-radius:0;transform:translate(-50%,-50%)}.ant-timeline-item-content{position:relative;top:-7px;margin:0 0 0 18px;word-break:break-word}.ant-timeline-item-last>.ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-tail{left:50%}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-left:-4px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-left:1px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{left:calc(50% - 4px);width:calc(50% - 14px);text-align:left}.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(50% - 12px);margin:0;text-align:right}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{left:calc(100% - 4px - 2px)}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(100% - 18px)}.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail{display:block;height:calc(100% - 14px);border-left:2px dotted #f0f0f0}.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail{display:none}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{top:15px;display:block;height:calc(100% - 15px);border-left:2px dotted #f0f0f0}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-label .ant-timeline-item-label{position:absolute;top:-7px;width:calc(50% - 12px);text-align:right}.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{left:calc(50% + 14px);width:calc(50% - 14px);text-align:left}.ant-timeline-rtl .ant-timeline-item-tail{right:4px;left:auto;border-right:2px solid #f0f0f0;border-left:none}.ant-timeline-rtl .ant-timeline-item-head-custom{right:5px;left:auto;transform:translate(50%,-50%)}.ant-timeline-rtl .ant-timeline-item-content{margin:0 18px 0 0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail{right:50%;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-right:-4px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-right:1px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{right:calc(50% - 4px);left:auto;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{right:0;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:100%;margin-right:18px;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{border-right:2px dotted #f0f0f0;border-left:none}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{right:calc(50% + 14px);text-align:right}.ant-tooltip{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;z-index:1070;display:block;width:max-content;max-width:250px}.ant-tooltip-hidden{display:none}.ant-tooltip-placement-top,.ant-tooltip-placement-topLeft,.ant-tooltip-placement-topRight{padding-bottom:8px}.ant-tooltip-placement-right,.ant-tooltip-placement-rightBottom,.ant-tooltip-placement-rightTop{padding-left:8px}.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottomRight{padding-top:8px}.ant-tooltip-placement-left,.ant-tooltip-placement-leftBottom,.ant-tooltip-placement-leftTop{padding-right:8px}.ant-tooltip-inner{min-width:30px;min-height:32px;padding:6px 8px;color:#fff;text-align:left;text-decoration:none;word-wrap:break-word;background-color:rgba(0,0,0,.75);border-radius:2px}.ant-tooltip-arrow{position:absolute;display:block;width:13.07px;height:13.07px;overflow:hidden;background:0 0;pointer-events:none}.ant-tooltip-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:5px;height:5px;margin:auto;background-color:rgba(0,0,0,.75);content:'';pointer-events:auto}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:-5.07px}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-top .ant-tooltip-arrow-content,.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-topRight .ant-tooltip-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-6.54px) rotate(45deg)}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:13px}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow{left:-5.07px}.ant-tooltip-placement-right .ant-tooltip-arrow-content,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(6.54px) rotate(45deg)}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow{right:-5.07px}.ant-tooltip-placement-left .ant-tooltip-arrow-content,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-6.54px) rotate(45deg)}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:-5.07px}.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content{box-shadow:-3px -3px 7px rgba(0,0,0,.07);transform:translateY(6.54px) rotate(45deg)}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:13px}.ant-tooltip-magenta .ant-tooltip-arrow-content,.ant-tooltip-magenta .ant-tooltip-inner,.ant-tooltip-pink .ant-tooltip-arrow-content,.ant-tooltip-pink .ant-tooltip-inner{background-color:#eb2f96}.ant-tooltip-red .ant-tooltip-arrow-content,.ant-tooltip-red .ant-tooltip-inner{background-color:#f5222d}.ant-tooltip-volcano .ant-tooltip-arrow-content,.ant-tooltip-volcano .ant-tooltip-inner{background-color:#fa541c}.ant-tooltip-orange .ant-tooltip-arrow-content,.ant-tooltip-orange .ant-tooltip-inner{background-color:#fa8c16}.ant-tooltip-yellow .ant-tooltip-arrow-content,.ant-tooltip-yellow .ant-tooltip-inner{background-color:#fadb14}.ant-tooltip-gold .ant-tooltip-arrow-content,.ant-tooltip-gold .ant-tooltip-inner{background-color:#faad14}.ant-tooltip-cyan .ant-tooltip-arrow-content,.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13c2c2}.ant-tooltip-lime .ant-tooltip-arrow-content,.ant-tooltip-lime .ant-tooltip-inner{background-color:#a0d911}.ant-tooltip-green .ant-tooltip-arrow-content,.ant-tooltip-green .ant-tooltip-inner{background-color:#52c41a}.ant-tooltip-blue .ant-tooltip-arrow-content,.ant-tooltip-blue .ant-tooltip-inner{background-color:#1890ff}.ant-tooltip-geekblue .ant-tooltip-arrow-content,.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2f54eb}.ant-tooltip-purple .ant-tooltip-arrow-content,.ant-tooltip-purple .ant-tooltip-inner{background-color:#722ed1}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content>.ant-table-body>table>.ant-table-thead>tr>th,.ant-upload.ant-upload-drag,.result .ant-steps .ant-steps-head,.result .ant-steps .ant-steps-title,.result__extra{background:#fafafa}.ant-tooltip-rtl .ant-tooltip-inner{text-align:right}.ant-tooltip{position:relative}.ant-transfer-customize-list .ant-transfer-list{flex:1 1 50%;width:auto;height:auto;min-height:200px}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small{border:0;border-radius:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content .ant-table-row:last-child td{border-bottom:1px solid #f0f0f0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body{margin:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination{margin:16px 0 4px}.ant-transfer-customize-list .ant-input[disabled]{background-color:transparent}.ant-transfer{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;position:relative;display:flex;align-items:stretch}.ant-transfer-disabled .ant-transfer-list{background:#f5f5f5}.ant-transfer-list{display:flex;flex-direction:column;width:180px;height:200px;border:1px solid #d9d9d9;border-radius:2px}.ant-transfer-list-header,.modal-header,.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:1px solid #f0f0f0}.ant-transfer-list-footer,.ant-transfer-list-pagination,.drawer-footer,.modal-footer{border-top:1px solid #f0f0f0}.ant-transfer-list-with-pagination{width:250px;height:auto}.ant-transfer-list-search{padding-right:24px;padding-left:8px}.ant-transfer-list-search-action{position:absolute;top:8px;right:12px;bottom:12px;width:28px;color:rgba(0,0,0,.25);line-height:28px;text-align:center}.ant-transfer-list-search-action .anticon{color:rgba(0,0,0,.25);transition:all .3s}.ant-transfer-list-search-action .anticon:hover{color:rgba(0,0,0,.45)}span.ant-transfer-list-search-action{pointer-events:none}.ant-transfer-list-header{display:flex;flex:none;align-items:center;height:36px;padding:7px 8px 8px;color:rgba(0,0,0,.85);background:#fff;border-radius:2px 2px 0 0}.ant-transfer-list-header>:not(:last-child){margin-right:4px}.ant-transfer-list-header>*{flex:none}.ant-transfer-list-header-title{flex:auto;overflow:hidden;white-space:nowrap;text-align:right;text-overflow:ellipsis}.ant-transfer-list-header-dropdown{font-size:10px;transform:translateY(10%);cursor:pointer}.ant-transfer-list-header-dropdown[disabled]{cursor:not-allowed}.ant-transfer-list-body{display:flex;flex:auto;flex-direction:column;overflow:hidden;font-size:12px}.ant-transfer-list-body-search-wrapper{position:relative;flex:none;padding:8px}.ant-transfer-list-content{flex:auto;margin:0;padding:0;overflow:auto;list-style:none}.ant-transfer-list-content-item{display:flex;align-items:center;min-height:28px;padding:3px 8px;line-height:22px;transition:all .3s}.ant-transfer-list-content-item>:not(:last-child){margin-right:8px}.ant-transfer-list-content-item>*{flex:none}.ant-transfer-list-content-item-text{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-transfer-list-content-item-remove{text-decoration:none;outline:0;cursor:pointer;transition:color .3s;position:relative;color:#d9d9d9}.ant-transfer-list-content-item-remove:focus,.ant-transfer-list-content-item-remove:hover{color:#40a9ff}.ant-transfer-list-content-item-remove:active{color:#096dd9}.ant-transfer-list-content-item-remove::after{position:absolute;top:-3px;right:-50%;bottom:-3px;left:-50%;content:''}.ant-transfer-list-content-item-remove:hover{color:#40a9ff}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:#f5f5f5;cursor:pointer}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover{background-color:#dcf4ff}.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background:0 0;cursor:default}.ant-transfer-list-content-item-checked{background-color:#e6f7ff}.ant-transfer-list-content-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-transfer-list-pagination{padding:4px 0;text-align:right}.ant-transfer-list-body-not-found{flex:none;width:100%;margin:auto 0;color:rgba(0,0,0,.25);text-align:center}.ant-transfer-rtl .ant-transfer-list-header-title,.ant-transfer-rtl .ant-transfer-list-pagination{text-align:left}.ant-transfer-operation{display:flex;flex:none;flex-direction:column;align-self:center;margin:0 8px;vertical-align:middle}.ant-transfer-operation .ant-btn{display:block}.ant-transfer-operation .ant-btn:first-child{margin-bottom:4px}.ant-transfer-operation .ant-btn .anticon{font-size:12px}.ant-transfer .ant-empty-image{max-height:-4px}.ant-transfer-rtl .ant-transfer-list-search{padding-right:8px;padding-left:24px}.ant-transfer-rtl .ant-transfer-list-search-action{right:auto;left:12px}.ant-transfer-rtl .ant-transfer-list-footer,.ant-transfer-rtl .ant-transfer-list-header{right:0;left:auto}.ant-transfer-rtl .ant-transfer-list-header>:not(:last-child){margin-right:0;margin-left:4px}.ant-transfer-rtl .ant-transfer-list-content-item>:not(:last-child){margin-right:0;margin-left:8px}.ant-typography{color:rgba(0,0,0,.85);overflow-wrap:break-word}.ant-typography.ant-typography-secondary{color:rgba(0,0,0,.45)}.ant-typography.ant-typography-success{color:#52c41a}.ant-typography.ant-typography-warning{color:#faad14}.ant-typography.ant-typography-danger{color:#ff4d4f}a.ant-typography.ant-typography-danger:active,a.ant-typography.ant-typography-danger:focus,a.ant-typography.ant-typography-danger:hover{color:#ff7875}.ant-typography.ant-typography-disabled{color:rgba(0,0,0,.25);cursor:not-allowed;user-select:none}.ant-typography p,div.ant-typography{margin-bottom:1em}.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography h5,h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography,h5.ant-typography{margin-bottom:.5em;color:rgba(0,0,0,.85);font-weight:600}.ant-typography h1,h1.ant-typography{font-size:33px;line-height:1.23}.ant-typography h2,h2.ant-typography{font-size:26px;line-height:1.35}.ant-typography h3,h3.ant-typography{font-size:21px;line-height:1.35}.ant-typography h4,h4.ant-typography{font-size:18px;line-height:1.4}.ant-typography h5,h5.ant-typography{font-size:14px;line-height:1.5}.ant-typography div+h1,.ant-typography div+h2,.ant-typography div+h3,.ant-typography div+h4,.ant-typography div+h5,.ant-typography h1+h1,.ant-typography h1+h2,.ant-typography h1+h3,.ant-typography h1+h4,.ant-typography h1+h5,.ant-typography h2+h1,.ant-typography h2+h2,.ant-typography h2+h3,.ant-typography h2+h4,.ant-typography h2+h5,.ant-typography h3+h1,.ant-typography h3+h2,.ant-typography h3+h3,.ant-typography h3+h4,.ant-typography h3+h5,.ant-typography h4+h1,.ant-typography h4+h2,.ant-typography h4+h3,.ant-typography h4+h4,.ant-typography h4+h5,.ant-typography h5+h1,.ant-typography h5+h2,.ant-typography h5+h3,.ant-typography h5+h4,.ant-typography h5+h5,.ant-typography li+h1,.ant-typography li+h2,.ant-typography li+h3,.ant-typography li+h4,.ant-typography li+h5,.ant-typography p+h1,.ant-typography p+h2,.ant-typography p+h3,.ant-typography p+h4,.ant-typography p+h5,.ant-typography ul+h1,.ant-typography ul+h2,.ant-typography ul+h3,.ant-typography ul+h4,.ant-typography ul+h5,.ant-typography+h1.ant-typography,.ant-typography+h2.ant-typography,.ant-typography+h3.ant-typography,.ant-typography+h4.ant-typography,.ant-typography+h5.ant-typography{margin-top:1.2em}.ant-typography code,.ant-typography kbd{margin:0 .2em;border:1px solid rgba(100,100,100,.2)}a.ant-typography-ellipsis,span.ant-typography-ellipsis{display:inline-block}.ant-typography a,a.ant-typography{color:#1890ff;outline:0;cursor:pointer;transition:color .3s;text-decoration:none}.ant-typography a:focus,.ant-typography a:hover,a.ant-typography:focus,a.ant-typography:hover{color:#40a9ff}.ant-typography a:active,a.ant-typography:active{color:#096dd9}.ant-typography a:active,.ant-typography a:hover,a.ant-typography:active,a.ant-typography:hover{text-decoration:none}.ant-typography a.ant-typography-disabled,.ant-typography a[disabled],a.ant-typography.ant-typography-disabled,a.ant-typography[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-typography a.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:hover,.ant-typography a[disabled]:active,.ant-typography a[disabled]:hover,a.ant-typography.ant-typography-disabled:active,a.ant-typography.ant-typography-disabled:hover,a.ant-typography[disabled]:active,a.ant-typography[disabled]:hover{color:rgba(0,0,0,.25)}.ant-typography a.ant-typography-disabled:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,a.ant-typography[disabled]:active{pointer-events:none}.ant-typography code{padding:.2em .4em .1em;font-size:85%;background:rgba(150,150,150,.1);border-radius:3px}.ant-typography kbd{padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border-bottom-width:2px;border-radius:3px}.ant-typography mark{padding:0;background-color:#ffe58f}.ant-typography ins,.ant-typography u{text-decoration:underline;text-decoration-skip-ink:auto}.ant-typography del,.ant-typography s,.task__item-done,.text-deleted{text-decoration:line-through}.ant-typography strong{font-weight:600}.ant-typography-copy,.ant-typography-edit,.ant-typography-expand{color:#1890ff;text-decoration:none;outline:0;cursor:pointer;transition:color .3s;margin-left:4px}.ant-typography-copy:focus,.ant-typography-copy:hover,.ant-typography-edit:focus,.ant-typography-edit:hover,.ant-typography-expand:focus,.ant-typography-expand:hover{color:#40a9ff}.ant-typography-copy:active,.ant-typography-edit:active,.ant-typography-expand:active{color:#096dd9}.ant-typography-copy-success,.ant-typography-copy-success:focus,.ant-typography-copy-success:hover{color:#52c41a}.ant-typography-edit-content{position:relative}div.ant-typography-edit-content{left:-8px;margin-top:-4px;margin-bottom:calc(1em - 3px - 1px)}.ant-typography-edit-content-confirm{position:absolute;right:10px;bottom:8px;color:rgba(0,0,0,.45);pointer-events:none}.ant-typography-edit-content textarea{-moz-transition:none}.ant-typography ol,.ant-typography ul{margin:0 0 1em;padding:0}.ant-typography ol li,.ant-typography ul li{margin:0 0 0 20px;padding:0 0 0 4px}.ant-typography ul{list-style-type:circle}.ant-typography ul ul{list-style-type:disc}.ant-typography ol{list-style-type:decimal}.ant-typography blockquote,.ant-typography pre{margin:1em 0}.ant-typography pre{padding:.4em .6em;white-space:pre-wrap;word-wrap:break-word;background:rgba(150,150,150,.1);border:1px solid rgba(100,100,100,.2);border-radius:3px}.ant-typography pre code{display:inline;margin:0;padding:0;font-size:inherit;font-family:inherit;background:0 0;border:0}.ant-typography blockquote{padding:0 0 0 .6em;border-left:4px solid rgba(100,100,100,.2);opacity:.85}.ant-typography-single-line{white-space:nowrap}.ant-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.ant-typography-ellipsis-single-line,span.ant-typography-ellipsis-single-line{vertical-align:bottom}.ant-typography-ellipsis-multiple-line{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;/*! autoprefixer: ignore next */-webkit-box-orient:vertical}.ant-typography-rtl .ant-typography-copy,.ant-typography-rtl .ant-typography-edit,.ant-typography-rtl .ant-typography-expand{margin-right:4px;margin-left:0}.ant-typography-rtl .ant-typography-expand{float:left}div.ant-typography-edit-content.ant-typography-rtl{right:-8px;left:auto}.ant-typography-rtl .ant-typography-edit-content-confirm{right:auto;left:10px}.ant-typography-rtl.ant-typography ol li,.ant-typography-rtl.ant-typography ul li{margin:0 20px 0 0;padding:0 4px 0 0}.ant-upload{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;outline:0}.ant-upload p{margin:0}.ant-upload-btn{display:block;width:100%;outline:0}.ant-upload input[type=file]{cursor:pointer}.ant-upload.ant-upload-select{display:inline-block}.ant-upload.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-select-picture-card{width:104px;height:104px;margin-right:8px;margin-bottom:8px;text-align:center;vertical-align:top;background-color:#fafafa;border:1px dashed #d9d9d9;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-select-picture-card>.ant-upload{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.ant-upload.ant-upload-select-picture-card:hover{border-color:#1890ff}.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover{border-color:#d9d9d9}.ant-upload.ant-upload-drag{position:relative;width:100%;height:100%;text-align:center;border:1px dashed #d9d9d9;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-drag .ant-upload{padding:8px 0}.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled){border-color:#096dd9}.ant-upload.ant-upload-drag.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-drag .ant-upload-btn{display:table;height:100%}.ant-upload.ant-upload-drag .ant-upload-drag-container{display:table-cell;vertical-align:middle}.ant-upload-list-item-name,.ant-upload-picture-card-wrapper{display:inline-block;width:100%}.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover{border-color:#40a9ff}.ant-upload.ant-upload-drag p.ant-upload-drag-icon{margin-bottom:20px}.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon{color:#40a9ff;font-size:48px}.ant-upload.ant-upload-drag p.ant-upload-text{margin:0 0 4px;color:rgba(0,0,0,.85);font-size:14px}.ant-upload.ant-upload-drag p.ant-upload-hint{color:rgba(0,0,0,.45);font-size:12px}.ant-upload.ant-upload-drag .anticon-plus{color:rgba(0,0,0,.25);font-size:30px;transition:all .3s}.ant-upload.ant-upload-drag .anticon-plus:hover,.ant-upload.ant-upload-drag:hover .anticon-plus{color:rgba(0,0,0,.45)}.ant-upload-list::after,.ant-upload-list::before,.ant-upload-picture-card-wrapper::after,.ant-upload-picture-card-wrapper::before{display:table;content:''}.ant-upload-picture-card-wrapper::after{clear:both}.ant-upload-list{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;line-height:1.66667}.ant-upload-list::after{clear:both}.ant-upload-list-item{position:relative;height:20px;margin-top:4px;font-size:12px}.ant-upload-list-item-name{padding-left:20px;overflow:hidden;line-height:1.66667;white-space:nowrap;text-overflow:ellipsis}.ant-upload-list-item-card-actions{position:absolute;right:0}.ant-upload-list-item-card-actions-btn{opacity:0}.ant-upload-list-item-card-actions-btn.ant-btn-sm{height:20px;line-height:1}.ant-upload-list-item-card-actions.picture{top:22px;line-height:0}.ant-upload-list-item-card-actions-btn:focus,.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn{opacity:1}.ant-upload-list-item-card-actions .anticon{color:rgba(0,0,0,.45)}.ant-upload-list-item-info{height:100%;padding:0 4px;transition:background-color .3s}.ant-upload-list-item-info>span{display:block;width:100%;height:100%}.ant-upload-list-item-info .ant-upload-text-icon .anticon,.ant-upload-list-item-info .anticon-loading .anticon{position:absolute;top:4px;color:rgba(0,0,0,.45);font-size:12px}.ant-upload-list-item .anticon-close{position:absolute;top:6px;right:4px;color:rgba(0,0,0,.45);font-size:10px;line-height:0;cursor:pointer;opacity:0;transition:all .3s}.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .anticon-close{opacity:1}.ant-upload-list-item .anticon-close:hover{color:rgba(0,0,0,.85)}.ant-upload-list-item:hover .ant-upload-list-item-info{background-color:#f5f5f5}.ant-upload-list-picture .ant-upload-list-item:hover,.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item:hover,.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info{background:0 0}.ant-upload-list-item-error,.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon,.ant-upload-list-item-error .ant-upload-list-item-name,.ant-upload-list-item-error .ant-upload-text-icon>.anticon{color:#ff4d4f}.ant-upload-list-item-progress{position:absolute;bottom:-12px;width:100%;padding-left:24px;font-size:12px;line-height:0}.ant-upload-list-picture .ant-upload-list-item,.ant-upload-list-picture-card .ant-upload-list-item{position:relative;height:66px;padding:4px;border:1px solid #d9d9d9;border-radius:2px}.ant-upload-list-picture .ant-upload-list-item-error,.ant-upload-list-picture-card .ant-upload-list-item-error{border-color:#ff4d4f}.ant-upload-list-picture .ant-upload-list-item-uploading,.ant-upload-list-picture-card .ant-upload-list-item-uploading{border-style:dashed}.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{width:48px;height:48px;line-height:54px;text-align:center;opacity:.8}.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff']{fill:#fff2f0}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff']{fill:#ff4d4f}.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-picture-card .ant-upload-list-item-icon{position:absolute;top:50%;left:50%;font-size:26px;transform:translate(-50%,-50%)}.ant-upload-list-picture .ant-upload-list-item-icon .anticon,.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-image,.ant-upload-list-picture-card .ant-upload-list-item-image{max-width:100%}.ant-upload-list-picture .ant-upload-list-item-thumbnail img,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{display:block;width:48px;height:48px;overflow:hidden}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-name{display:inline-block;box-sizing:border-box;max-width:100%;margin:0 0 0 8px;padding-right:8px;padding-left:48px;overflow:hidden;line-height:44px;white-space:nowrap;text-overflow:ellipsis;transition:all .3s}.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name{line-height:28px}.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:14px;width:calc(100% - 24px);margin-top:0;padding-left:56px}.ant-upload-list-picture .anticon-close,.ant-upload-list-picture-card .anticon-close{position:absolute;top:8px;right:8px;line-height:1;opacity:1}.ant-upload-list-picture-card-container{display:inline-block;width:104px;height:104px;margin:0 4px 4px 0;vertical-align:top}.ant-upload-list-picture-card.ant-upload-list::after{display:none}.ant-upload-list-picture-card .ant-upload-list-item{height:100%;margin:0}.ant-upload-list-picture-card .ant-upload-list-item-info{position:relative;height:100%;overflow:hidden}.ant-upload-list-picture-card .ant-upload-list-item-info::before{position:absolute;z-index:1;width:100%;height:100%;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s;content:' '}.ant-result-content,.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item{background-color:#fafafa}.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-actions{position:absolute;top:50%;left:50%;z-index:10;white-space:nowrap;transform:translate(-50%,-50%);opacity:0;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye{z-index:10;width:16px;margin:0 4px;color:rgba(255,255,255,.85);font-size:16px;cursor:pointer;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover{color:#fff}.ant-upload-list-picture-card .ant-upload-list-item-actions:hover,.ant-upload-list-picture-card .ant-upload-list-item-info:hover+.ant-upload-list-item-actions{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{position:static;display:block;width:100%;height:100%;object-fit:contain}.ant-upload-list-picture-card .ant-upload-list-item-name{display:none;margin:8px 0 0;padding:0;line-height:1.66667;text-align:center}.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{position:absolute;bottom:10px;display:block}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info{height:auto}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before{display:none}.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:32px;width:calc(100% - 14px);padding-left:0}.ant-upload-list-picture-container,.ant-upload-list-text-container{transition:opacity .3s,height .3s}.ant-upload-list-picture-container::before,.ant-upload-list-text-container::before{display:table;width:0;height:0;content:''}.ant-upload-list-picture-container .ant-upload-span,.ant-upload-list-text-container .ant-upload-span{display:block;flex:auto}.ant-upload-list-picture .ant-upload-span,.ant-upload-list-text .ant-upload-span{display:flex;align-items:center}.ant-upload-list-picture .ant-upload-span>*,.ant-upload-list-text .ant-upload-span>*{flex:none}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-text .ant-upload-list-item-name{flex:auto;padding:0 4px}.ant-upload-list-picture .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-text-icon .anticon{position:static}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter,.ant-upload-list .ant-upload-animate-inline-leave{animation-duration:.3s;animation-fill-mode:cubic-bezier(.78,.14,.15,.86)}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter{animation-name:uploadAnimateInlineIn}.ant-upload-list .ant-upload-animate-inline-leave{animation-name:uploadAnimateInlineOut}@keyframes uploadAnimateInlineIn{from{width:0;height:0;margin:0;padding:0;opacity:0}}@keyframes uploadAnimateInlineOut{to{width:0;height:0;margin:0;padding:0;opacity:0}}.ant-upload-rtl.ant-upload.ant-upload-select-picture-card{margin-right:auto;margin-left:8px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1{padding-right:22px;padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2{padding-right:22px;padding-left:28px}.ant-upload-list-rtl .ant-upload-list-item-name{padding-right:20px;padding-left:0}.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1{padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-card-actions{right:auto;left:0}.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-info{padding:0 4px 0 12px}.ant-upload-list-rtl .ant-upload-list-item .anticon-close{right:auto;left:4px}.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-progress{padding-right:24px;padding-left:0}.ant-upload-list-picture .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item-info{padding:0}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{right:8px;left:auto}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name{margin:0 8px 0 0;padding-right:48px;padding-left:8px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1{padding-right:48px;padding-left:18px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2{padding-right:48px;padding-left:36px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress{padding-right:0;padding-left:0}.ant-upload-list-rtl.ant-upload-list-picture .anticon-close,.ant-upload-list-rtl.ant-upload-list-picture-card .anticon-close{right:auto;left:8px}.ant-upload-list-rtl .ant-upload-list-picture-card-container{margin:0 0 4px 4px}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{margin:8px 0 0;padding:0}.ant-cascader,.ant-cascader-picker,.ant-select-auto-complete{box-sizing:border-box;margin:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;line-height:1.66667}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item{float:unset}.ant-select-auto-complete{padding:0}.ant-select-auto-complete .ant-select-clear{right:13px}.ant-select-dropdown-hidden{display:none}.ant-cascader{padding:0}.ant-cascader-input.ant-input{position:static;width:100%;padding-right:24px;background-color:transparent!important;cursor:pointer}.ant-cascader-picker-show-search .ant-cascader-input.ant-input{position:relative}.ant-cascader-picker{padding:0;position:relative;display:inline-block;background-color:#fff;border-radius:2px;outline:0;cursor:pointer;transition:color .3s}.ant-cascader-picker-with-value .ant-cascader-picker-label,.ellipsis__shadow{color:transparent}.ant-cascader-picker-disabled{color:rgba(0,0,0,.25);background:#f5f5f5;cursor:not-allowed}.ant-cascader-picker-disabled .ant-cascader-input{cursor:not-allowed}.ant-cascader-picker:focus .ant-cascader-input{outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input{border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-borderless .ant-cascader-input{border-color:transparent!important;box-shadow:none!important}.ant-cascader-picker-show-search.ant-cascader-picker-focused{color:rgba(0,0,0,.25)}.ant-cascader-picker-label{position:absolute;top:50%;left:0;width:100%;height:20px;margin-top:-10px;padding:0 20px 0 8px;overflow:hidden;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.ant-cascader-picker-arrow,.ant-cascader-picker-clear{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;line-height:12px;font-size:12px;right:8px}.ant-cascader-picker-clear{z-index:2;color:rgba(0,0,0,.25);background:#fff;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease}.ant-cascader-picker-clear:hover{color:rgba(0,0,0,.45)}.ant-cascader-picker:hover .ant-cascader-picker-clear{opacity:1}.ant-cascader-picker-arrow{z-index:1;color:rgba(0,0,0,.25)}.ant-cascader-menu,.ant-cascader-menus ol,.ant-cascader-menus ul{margin:0;list-style:none}.ant-input-rtl .ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input){border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-small .ant-cascader-picker-clear{right:8px}.ant-cascader-menus{z-index:1050;font-size:12px;white-space:nowrap;background:#fff;border-radius:2px}.ant-cascader-menus-empty,.ant-cascader-menus-hidden{display:none}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-topLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-bottomLeft{animation-name:antSlideUpOut}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownOut}.ant-cascader-menu{display:inline-block;min-width:111px;height:180px;padding:4px 0;overflow:auto;vertical-align:top;border-right:1px solid #f0f0f0;-ms-overflow-style:-ms-autohiding-scrollbar}.alain-pro__light .alain-pro__sider .ant-menu-light,.ant-cascader-menu:last-child{border-right-color:transparent}.ant-cascader-menu:first-child{border-radius:2px 0 0 2px}.ant-cascader-menu:last-child{margin-right:-1px;border-radius:0 2px 2px 0}.ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-item{padding:5px 8px;overflow:hidden;line-height:18px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-cascader-menu-item:hover{background:#f5f5f5}.ant-cascader-menu-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-cascader-menu-item-disabled:hover{background:0 0}.ant-cascader-menu-empty .ant-cascader-menu-item{color:rgba(0,0,0,.25);cursor:default;pointer-events:none}.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover{font-weight:600;background-color:#e6f7ff}.ant-cascader-menu-item-expand{position:relative;padding-right:24px}.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-loading-icon{position:absolute;right:8px;color:rgba(0,0,0,.45);font-size:10px}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon,.ant-cascader-picker-rtl .ant-cascader-picker-arrow,.ant-cascader-picker-rtl .ant-cascader-picker-clear,.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-clear{right:auto;left:8px}.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon,.ant-tree-checkbox-disabled+span{color:rgba(0,0,0,.25)}.ant-cascader-menu-item .ant-cascader-menu-item-keyword{color:#ff4d4f}.ant-cascader-picker-rtl .ant-cascader-input.ant-input{padding-right:7px;padding-left:24px;text-align:right}.ant-cascader-picker-rtl .ant-cascader-picker-label{padding:0 8px 0 20px;text-align:right}.ant-cascader-menu-rtl .ant-cascader-menu{border-right:none;border-left:1px solid #f0f0f0}.ant-cascader-menu-rtl .ant-cascader-menu:first-child{border-radius:0 2px 2px 0}.ant-cascader-menu-rtl .ant-cascader-menu:last-child{margin-right:0;margin-left:-1px;border-left-color:transparent;border-radius:2px 0 0 2px}.ant-cascader-menu-rtl .ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand{padding-right:8px;padding-left:24px}.ant-tree-checkbox,.ant-tree-checkbox-wrapper{box-sizing:border-box;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon{transform:scaleY(-1)}.ant-cascader-menus{position:relative;margin-top:2px;margin-bottom:2px}nz-tree-virtual-scroll-view{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}nz-tree-virtual-scroll-view .ant-tree-list,nz-tree-virtual-scroll-view .ant-tree-list-holder{height:100%}nz-tree-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon,nz-tree-virtual-scroll-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon{display:none}nz-tree-view .ant-tree-list-holder-inner{display:flex;flex-direction:column}.ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before{top:auto!important;bottom:auto!important;height:10px!important}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode::before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:'';pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before{background:#f5f5f5}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before{background:#1890ff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:0 0}.ant-tree-checkbox{color:rgba(0,0,0,.85);position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#1890ff}.ant-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after,.ant-tree-checkbox:hover::after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree .ant-tree-treenode-rtl,.ant-tree-checkbox-rtl,.ant-tree-rtl{direction:rtl}.ant-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5px;height:8px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-disabled,.ant-tree-checkbox-disabled .ant-tree-checkbox-input,.ant-tree-checkbox-disabled+span{cursor:not-allowed}.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{border-color:rgba(0,0,0,.25);animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-tree-checkbox-disabled:hover::after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after{visibility:hidden}.ant-tree-checkbox-wrapper{margin:0;color:rgba(0,0,0,.85);display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox,.ant-select-tree-checkbox-wrapper,.ant-tree,.ant-tree-checkbox-group{padding:0;box-sizing:border-box;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(0,0,0,.85)}.ant-tree-checkbox-group{margin:0;line-height:1.66667;display:inline-block}.ant-tree-checkbox-group-item{margin-right:6px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after{top:50%;left:50%;width:6px;height:6px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item{margin-right:0;margin-left:6px}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:6px}.ant-tree{margin:0;line-height:1.66667;background:#fff;border-radius:2px;transition:background-color .3s}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#e6f7ff}.ant-tree-list-holder-inner{align-items:flex-start}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 2px;outline:0}.ant-select-tree-switcher,.ant-tree-switcher{flex:none;align-self:stretch;user-select:none}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:#f5f5f5}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-tree-indent-unit{display:inline-block;width:20px}.ant-tree-switcher{position:relative;width:20px;margin:0;line-height:20px;text-align:center;cursor:pointer}.ant-tree-switcher .ant-select-tree-switcher-icon,.ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-select-tree-switcher-icon svg,.ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#1890ff}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line::after,.ant-tree-switcher-leaf-line::before{position:absolute;margin-left:-1px;content:' '}.ant-tree-switcher-leaf-line::before{top:0;bottom:-2px;border-left:1px solid #d9d9d9}.ant-tree-switcher-leaf-line::after{width:6px;height:10px;border-bottom:1px solid #d9d9d9}.ant-tree-checkbox{top:initial;margin:3px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:20px;margin:0;padding:0 4px;color:inherit;line-height:20px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#bae7ff}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree-show-line .ant-tree-indent-unit-end::before{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper[draggable=true]{line-height:20px;user-select:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:''}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit::before{position:absolute;top:0;right:10px;bottom:-2px;border-right:1px solid #d9d9d9;content:''}.ant-tree-show-line .ant-tree-switcher{background:#fff}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{right:-6px;left:unset}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before{right:auto;left:-11px;border-right:none;border-left:1px solid #d9d9d9}.ant-tree-rtl.ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:3px 0 0 8px}.font-highlight{color:#ff4d4f}.ant-tree-child-tree{overflow:hidden}nz-tree{display:block}.ant-select-tree-checkbox{position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-select-tree-checkbox-input:focus+.ant-select-tree-checkbox-inner,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner,.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner{border-color:#1890ff}.ant-select-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after,.ant-select-tree-checkbox:hover::after{visibility:visible}.ant-input-number__hide-step .ant-input-number-handler-wrap,.ant-select-tree-checkbox-disabled:hover::after,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after,.exception__img-block::after{visibility:hidden}.ant-select-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-picker-calendar-rtl,.ant-result-rtl,.ant-select-tree-checkbox-rtl,.ant-space-rtl,.ant-tree-select-dropdown-rtl,.avatar-list-rtl,.error-collect-rtl,.exception-rtl,.global-footer-rtl,.loading-default-rtl,.onboarding-rtl,.page-header-rtl,.result-rtl,.setting-drawer-rtl,.tag-select-rtl{direction:rtl}.ant-select-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5px;height:8px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-select-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-select-tree-checkbox-disabled{cursor:not-allowed}.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{border-color:rgba(0,0,0,.25);animation-name:none}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input{cursor:not-allowed}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-select-tree-checkbox-disabled+span{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-tree-checkbox-wrapper{margin:0;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-select-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-select-tree-checkbox-wrapper+.ant-select-tree-checkbox-wrapper{margin-left:8px}.ant-select-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;display:inline-block}.ant-select-tree-checkbox-group-item{margin-right:6px}.ant-select-tree-checkbox-group-item:last-child{margin-right:0}.ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:0}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{top:50%;left:50%;width:6px;height:6px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item{margin-right:0;margin-left:6px}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:6px}.ant-tree-select-dropdown{padding:4px 2px 0}.ant-tree-select-dropdown .ant-select-tree{border-radius:0}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode{padding-bottom:4px}.ant-picker-calendar,.ant-select-tree{padding:0;font-size:12px;box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree{margin:0;color:rgba(0,0,0,.85);line-height:1.66667;background:#fff;border-radius:2px;transition:background-color .3s}.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused){background:#e6f7ff}.ant-select-tree-list-holder-inner{align-items:flex-start}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner{align-items:stretch}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree .ant-select-tree-treenode{display:flex;align-items:flex-start;padding:0 0 2px;outline:0}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover{background:0 0}.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background:#f5f5f5}.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title{color:inherit;font-weight:500}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-select-tree-switcher-loading-icon{color:#1890ff}.ant-select-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-select-tree-indent-unit{display:inline-block;width:20px}.ant-select-tree-switcher{position:relative;width:20px;margin:0;line-height:20px;text-align:center;cursor:pointer}.ant-select-tree-switcher .ant-select-tree-switcher-icon,.ant-select-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-select-tree-switcher .ant-select-tree-switcher-icon svg,.ant-select-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-select-tree-switcher-noop{cursor:default}.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-select-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-select-tree-switcher-leaf-line::before{position:absolute;top:0;bottom:-2px;margin-left:-1px;border-left:1px solid #d9d9d9;content:' '}.ant-select-tree-switcher-leaf-line::after{position:absolute;width:6px;height:10px;margin-left:-1px;border-bottom:1px solid #d9d9d9;content:' '}.ant-select-tree-checkbox{top:initial;margin:3px 8px 0 0}.ant-select-tree .ant-select-tree-node-content-wrapper{position:relative;z-index:auto;min-height:20px;margin:0;padding:0 4px;color:inherit;line-height:20px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-select-tree .ant-select-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{background-color:#bae7ff}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:top}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty,.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before{display:none}.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover{background-color:transparent}.ant-select-tree-node-content-wrapper[draggable=true]{line-height:20px;user-select:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:''}.ant-select-tree .ant-select-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-select-tree-show-line .ant-select-tree-indent-unit{position:relative;height:100%}.ant-select-tree-show-line .ant-select-tree-indent-unit::before{position:absolute;top:0;right:10px;bottom:-2px;border-right:1px solid #d9d9d9;content:''}.ant-select-tree-show-line .ant-select-tree-switcher{background:#fff}.ant-select-tree-show-line .ant-select-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon{transform:scaleY(-1)}.ant-tree.ant-select-tree.ant-tree-show-line nz-tree-node[builtin]:not(:last-child)>li::before{content:' ';width:1px;border-left:1px solid #d9d9d9;height:calc(100% - 16px);position:absolute;left:12px;margin:26px 0}.ant-select-dropdown.ant-select-tree-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;overflow:auto}.ant-picker-calendar{margin:0;color:rgba(0,0,0,.85);line-height:1.66667;background:#fff}.ant-picker-calendar-header{display:flex;justify-content:flex-end;padding:8px 0}.ant-picker-calendar-header .ant-picker-calendar-year-select{min-width:80px}.ant-picker-calendar-header .ant-picker-calendar-month-select{min-width:70px;margin-left:4px}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{margin-left:4px}.ant-picker-calendar .ant-picker-panel{background:#fff;border:0;border-top:1px solid #f0f0f0;border-radius:0}.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel,.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel{width:auto}.ant-picker-calendar .ant-picker-panel .ant-picker-body{padding:4px 0}.ant-picker-calendar .ant-picker-panel .ant-picker-content{width:100%}.ant-picker-calendar-mini{border-radius:2px}.ant-picker-calendar-mini .ant-picker-calendar-header{padding-right:4px;padding-left:4px}.ant-picker-calendar-mini .ant-picker-panel{border-radius:0 0 2px 2px}.ant-picker-calendar-mini .ant-picker-content{height:256px}.ant-picker-calendar-mini .ant-picker-content th{height:auto;padding:0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel{display:block;width:100%;text-align:right;background:#fff;border:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before{display:none}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td,.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{height:auto;padding:0 12px 5px 0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date{background:#f5f5f5}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today{background:#e6f7ff}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{display:block;width:auto;height:auto;margin:0 2px;padding:2px 4px 0;border:0;border-top:2px solid #f0f0f0;border-radius:0;transition:background .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value{line-height:24px;transition:color .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{position:static;width:auto;height:86px;overflow-y:auto;color:rgba(0,0,0,.85);line-height:1.66667;text-align:left}.ant-image,.half-float{position:relative}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today{border-color:#1890ff}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value{color:rgba(0,0,0,.85)}@media only screen and (max-width:480px){.ant-picker-calendar-header{display:block}.ant-picker-calendar-header .ant-picker-calendar-year-select{width:50%}.ant-picker-calendar-header .ant-picker-calendar-month-select{width:calc(50% - 4px)}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{width:100%;margin-top:4px;margin-left:0}.ant-picker-calendar-header .ant-picker-calendar-mode-switch>label{width:50%;text-align:center}}.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch,.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select{margin-right:4px;margin-left:0}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel{text-align:left}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0 0 5px 12px}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{text-align:right}.ant-result{padding:48px 32px}.ant-result-success .ant-result-icon>.anticon{color:#52c41a}.ant-result-error .ant-result-icon>.anticon{color:#ff4d4f}.ant-result-info .ant-result-icon>.anticon{color:#1890ff}.ant-result-warning .ant-result-icon>.anticon{color:#faad14}.ant-result-image{width:250px;height:295px;margin:auto}.ant-result-icon{margin-bottom:24px;text-align:center}.ant-result-icon>.anticon{font-size:64px}.ant-result-title{color:rgba(0,0,0,.85);font-size:20px;line-height:1.8;text-align:center}.ant-result-subtitle{color:rgba(0,0,0,.45);font-size:12px;line-height:1.6;text-align:center}.ant-result-extra{margin:24px 0 0;text-align:center}.ant-result-extra>*{margin-right:8px}.ant-result-extra>:last-child{margin-right:0}.ant-result-content{margin-top:24px;padding:24px 40px}.ant-result-rtl .ant-result-extra>*{margin-right:0;margin-left:8px}.ant-result-rtl .ant-result-extra>:last-child{margin-left:0}nz-result{display:block}.ant-space{display:inline-flex}.ant-space-vertical{flex-direction:column}.ant-space-align-center{align-items:center}.ant-space-align-start{align-items:flex-start}.ant-space-align-end{align-items:flex-end}.ant-space-align-baseline{align-items:baseline}.ant-space-item:empty{display:none}nz-space-item{display:block}.ant-image{display:inline-block}.ant-image-mask,.ant-image-placeholder{position:absolute;left:0;right:0;bottom:0}.ant-image-img{display:block;width:100%;height:auto}.ant-image-img-placeholder{background-color:#f5f5f5;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);background-repeat:no-repeat;background-position:center center;background-size:30%}.ant-image-mask{top:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.5);cursor:pointer;opacity:0;transition:opacity .3s}.ant-image-mask-info .anticon{margin-inline-end:0}.ant-image-mask:hover{opacity:1}.ant-image-placeholder{top:0}.ant-image-preview{pointer-events:none;height:100%;text-align:center}.ant-image-preview.ant-zoom-enter,.ant-image-preview.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.cdk-overlay-backdrop.ant-image-preview-mask,.img-thm:hover .img-thm__icon,.loading-backdrop{opacity:1}.ant-image-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:rgba(0,0,0,.45)}.ant-image-preview-mask-hidden{display:none}.ant-image-preview-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;z-index:1080}.ant-image-preview-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ant-image-preview-img{max-width:100%;max-height:100%;vertical-align:middle;transform:scale3d(1,1,1);cursor:grab;transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s;user-select:none;pointer-events:auto}.ant-image-preview-img-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s}.ant-image-preview-img-wrapper::before{display:inline-block;width:1px;height:50%;margin-right:-1px;content:''}.ant-image-preview-moving .ant-image-preview-img{cursor:grabbing}.ant-image-preview-moving .ant-image-preview-img-wrapper{transition-duration:0s}.ant-image-preview-operations{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;line-height:1.66667;font-feature-settings:tnum;position:absolute;top:0;right:0;z-index:1;display:flex;flex-direction:row-reverse;align-items:center;width:100%;color:rgba(255,255,255,.85);list-style:none;background:rgba(0,0,0,.1);pointer-events:auto}.ant-image-preview-operations-icon,.ant-image-preview-switch-left>.anticon,.ant-image-preview-switch-right>.anticon{font-size:18px}.ant-image-preview-operations-operation{margin-left:8px;padding:8px;cursor:pointer}.ant-image-preview-operations-operation-disabled{color:rgba(255,255,255,.25);pointer-events:none}.ant-image-preview-operations-operation:last-of-type{margin-left:0}.ant-image-preview-switch-left,.ant-image-preview-switch-right{position:absolute;top:50%;right:10px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.1);border-radius:50%;cursor:pointer;pointer-events:auto}.ant-image-preview-switch-left-disabled,.ant-image-preview-switch-right-disabled{color:rgba(255,255,255,.25);cursor:not-allowed}.ant-form-item-label em,.dd-btn{color:#bfbfbf}.ant-image-preview-switch-left-disabled>.anticon,.ant-image-preview-switch-right-disabled>.anticon{cursor:not-allowed}.ant-image-preview-switch-left{left:10px}.ant-image-preview-switch-right{right:10px}sf+st{margin-top:16px}.ant-btn+.ant-btn,.ant-btn+nz-button-group,.ant-btn+nz-dropdown,.ant-btn+nz-popconfirm,nz-button-group+.ant-btn,nz-button-group+nz-popconfirm,nz-dropdown+.ant-btn,nz-popconfirm+.ant-btn,nz-popconfirm+nz-button-group,nz-popconfirm+nz-popconfirm{margin-left:8px}.ant-btn-group .ant-btn+.ant-btn{margin-left:-1px}.ant-transfer-operation .ant-btn+.ant-btn{margin-left:initial}[dir=rtl] .ant-btn+.ant-btn,[dir=rtl] .ant-btn+nz-button-group,[dir=rtl] .ant-btn+nz-dropdown,[dir=rtl] .ant-btn+nz-popconfirm,[dir=rtl] nz-button-group+.ant-btn,[dir=rtl] nz-button-group+nz-popconfirm,[dir=rtl] nz-dropdown+.ant-btn,[dir=rtl] nz-popconfirm+.ant-btn,[dir=rtl] nz-popconfirm+nz-button-group,[dir=rtl] nz-popconfirm+nz-popconfirm{margin-right:8px;margin-left:inherit}a:focus{text-decoration:none}.ant-card{margin-bottom:16px}.ant-card__body-nopadding .ant-card-body{padding:0!important}@media (min-width:300px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:auto!important;max-width:300px}}@media (max-width:299px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:100%!important}}@media (min-width:600px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:auto!important;max-width:600px}}@media (max-width:599px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:100%!important}}@media (min-width:900px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:auto!important;max-width:900px}}@media (max-width:899px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:100%!important}}@media (min-width:1200px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:auto!important;max-width:1200px}}@media (max-width:1199px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:100%!important}}.drawer-footer{position:absolute;bottom:0;left:0;width:100%;padding:8px 16px;text-align:right;background:#fff;border-radius:0 0 2px 2px}.ant-form-item-control em{margin-left:8px}[dir=rtl] .ant-form-item-control em{margin-right:8px;margin-left:inherit}@media (min-width:576px){.modal-sm .ant-modal{width:auto!important;max-width:300px}}@media (min-width:768px){.modal-md .ant-modal{width:auto!important;max-width:600px}}@media (min-width:992px){.modal-lg .ant-modal{width:auto!important;max-width:900px}}@media (min-width:1600px){.modal-xl .ant-modal{width:auto!important;max-width:1200px}}.modal-header{display:flex;justify-content:space-between;margin:-16px -16px 16px;padding:11px 16px;background:#fff;border-radius:2px 2px 0 0}.modal-title{margin:0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:22px;word-wrap:break-word}.modal-title small{margin-left:8px;color:#8c8c8c;font-size:12px}.modal-spin{display:block;min-height:150px;line-height:150px;text-align:center}.modal-footer{margin:16px -16px -16px;padding:8px 16px;text-align:right;border-radius:0 0 2px 2px}.modal-include-tabs nz-tabset{margin-top:-16px}.modal-body-nopadding .ant-modal-body{padding:0!important}.ant-table td .img,.ant-table td>img{max-width:32px;max-height:32px;margin-right:4px;vertical-align:middle;border-radius:4px}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title,.ant-table-rep__title{display:none}[dir=rtl] .ant-table td .img,[dir=rtl] .ant-table td>img{margin-right:inherit;margin-left:4px}@media screen and (max-width:767px){.ant-table-rep__title{display:inline-block;width:100px;padding-right:8px;color:rgba(0,0,0,.5);text-align:right}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title{display:block}.ant-table-rep .ant-table table{width:100%!important;table-layout:auto!important}.ant-table-rep .ant-table-thead{display:none}.ant-table-rep .ant-table-title{text-align:center;background:#f0f0f0}.ant-table-rep .ant-table-tbody>tr:nth-child(4n+3){background:#f9f9f9}.ant-table-rep .ant-table-tbody>tr>td{display:flex;align-items:center;width:100%;padding:6px 4px;white-space:inherit;text-align:left!important;border-bottom:none}.ant-table-rep .ant-table-tbody>tr>td .ant-table-rep__title+:not(.ant-avatar){flex:1;word-break:break-all}}.ant-tag__plus .ant-tag{background:#fff;border-style:dashed}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small{font-size:75%}.h1{font-size:32px}.h2{font-size:24px}.h3{font-size:20px}.h4{font-size:16px}.h5{font-size:14px}.h6{font-size:12px}.list-styled{list-style:inherit;padding-right:18px;padding-left:0}.list-unstyled{list-style:none;padding-right:0;padding-left:inherit}fieldset{border:none}.display-1{font-size:32px}.display-2{font-size:24px}.display-3{font-size:20px}.search__form .ant-form-item{margin-right:0;margin-bottom:16px}.search__form .ant-form-item-control{flex:1}.file-manager,.sf__object-card .sf__fixed{flex-wrap:wrap}.half-float img{display:block;max-width:100%;height:auto}.half-float .half-float-bottom{position:absolute;left:50%;z-index:2}.half-float.half-float-sm{margin-bottom:42px}.half-float.half-float-sm .half-float-bottom{bottom:-32px;width:64px;height:64px;margin-left:-32px}.half-float.half-float-md{margin-bottom:50px}.half-float.half-float-md .half-float-bottom{bottom:-40px;width:80px;height:80px;margin-left:-40px}.half-float.half-float-lg{margin-bottom:58px}.half-float.half-float-lg .half-float-bottom{bottom:-48px;width:96px;height:96px;margin-left:-48px}.row-masonry{position:relative;width:100%;margin:0;padding:0;column-gap:16px}.row-masonry>.col-masonry{display:inline-block;width:100%;min-height:1em;margin-bottom:15px}.sf__array>.ant-form-item,.sf__title{margin-bottom:8px}.row-masonry img{max-width:100%}@media only screen and (min-width:480px){.row-masonry-xs-1{column-count:1;columns:1}.row-masonry-xs-2{column-count:2;columns:2}.row-masonry-xs-3{column-count:3;columns:3}.row-masonry-xs-4{column-count:4;columns:4}.row-masonry-xs-5{column-count:5;columns:5}.row-masonry-xs-6{column-count:6;columns:6}.row-masonry-xs-7{column-count:7;columns:7}.row-masonry-xs-8{column-count:8;columns:8}.row-masonry-xs-9{column-count:9;columns:9}}@media only screen and (min-width:576px){.row-masonry-sm-1{column-count:1;columns:1}.row-masonry-sm-2{column-count:2;columns:2}.row-masonry-sm-3{column-count:3;columns:3}.row-masonry-sm-4{column-count:4;columns:4}.row-masonry-sm-5{column-count:5;columns:5}.row-masonry-sm-6{column-count:6;columns:6}.row-masonry-sm-7{column-count:7;columns:7}.row-masonry-sm-8{column-count:8;columns:8}.row-masonry-sm-9{column-count:9;columns:9}}@media only screen and (min-width:768px){.row-masonry-md-1{column-count:1;columns:1}.row-masonry-md-2{column-count:2;columns:2}.row-masonry-md-3{column-count:3;columns:3}.row-masonry-md-4{column-count:4;columns:4}.row-masonry-md-5{column-count:5;columns:5}.row-masonry-md-6{column-count:6;columns:6}.row-masonry-md-7{column-count:7;columns:7}.row-masonry-md-8{column-count:8;columns:8}.row-masonry-md-9{column-count:9;columns:9}}@media only screen and (min-width:992px){.row-masonry-lg-1{column-count:1;columns:1}.row-masonry-lg-2{column-count:2;columns:2}.row-masonry-lg-3{column-count:3;columns:3}.row-masonry-lg-4{column-count:4;columns:4}.row-masonry-lg-5{column-count:5;columns:5}.row-masonry-lg-6{column-count:6;columns:6}.row-masonry-lg-7{column-count:7;columns:7}.row-masonry-lg-8{column-count:8;columns:8}.row-masonry-lg-9{column-count:9;columns:9}}@media only screen and (min-width:1200px){.row-masonry-xl-1{column-count:1;columns:1}.row-masonry-xl-2{column-count:2;columns:2}.row-masonry-xl-3{column-count:3;columns:3}.row-masonry-xl-4{column-count:4;columns:4}.row-masonry-xl-5{column-count:5;columns:5}.row-masonry-xl-6{column-count:6;columns:6}.row-masonry-xl-7{column-count:7;columns:7}.row-masonry-xl-8{column-count:8;columns:8}.row-masonry-xl-9{column-count:9;columns:9}}.header-dropdown{background-color:#fff;border-radius:4px}@media screen and (max-width:480px){.header-dropdown{right:0!important;left:0!important;width:100%!important;border-radius:0!important}}.sf{display:block}.sf__optional{margin-left:2px;color:rgba(0,0,0,.35)}.sf__fixed{display:flex}.sf__title{padding:0 16px;font-weight:700;text-align:left}.sf__object-card .ant-card-body{padding-left:0}.sf__object-card-fold .ant-card-body{display:none}.sf__array-add{margin-right:16px}.sf__array-container .ant-card{margin:0 16px 16px 0}.sf__array-container .ant-card-body{padding-bottom:0}.sf__array-container .ant-card .sf__array-remove{position:absolute;top:-16px;right:-16px;display:none;width:32px;height:32px;font-size:20px;line-height:32px;text-align:center;background:rgba(0,0,0,.26);border-radius:50%;cursor:pointer}.sf__array-container .ant-card .sf__array-remove i{color:#fff}.sf__array-container .ant-card:hover .sf__array-remove{display:block}@media (max-width:767px){.sf__array>.ant-form-item>.ant-form-item-control-wrapper,.sf__array>.ant-form-item>.ant-form-item-label{flex:0 0 100%;max-width:100%}.sf__array>.ant-form-item>.ant-form-item-label{display:flex;margin-bottom:8px}.sf__array-container .ant-card{margin-right:0}.sf__array-container .ant-card .sf__array-remove{right:8px;display:block}.sf__array-container>.sf__array-item{flex:0 0 100%;max-width:100%}}.sf__checkbox-list{display:block;width:100%}@media (min-width:768px){.sf__checkbox-list .ant-col{margin-top:8px}}.sf .ant-upload-select-picture-card i{color:#999;font-size:32px}.sf .ant-upload.ant-upload-drag{height:180px}.sf .ant-transfer-list{background:#fff}.sf .ant-transfer-list-header label{position:unset}.sf .ant-transfer .ant-btn+.ant-btn{margin-left:0}.sf__no-error .ant-form-item{margin-bottom:8px}.sf__inline .sf__item{display:inline-block;margin-bottom:8px;vertical-align:top}.sf__inline .ant-form-inline>.sf__item,.sf__inline .sf__array-container .ant-card-body>.sf__item{margin-bottom:0}.sf__inline .ant-form-inline .ant-select{min-width:100px}.sf__inline .sf__array-container>.sf__array-item{flex:initial;width:100%;max-width:100%}.sf__inline .sf__array-container .ant-card{margin:0}.sf__inline .sf__array-container .ant-card-body{padding:8px 0 0 8px}.sf__inline .sf-btns{margin-right:0}@media (max-width:767px){.sf__inline .sf__item{display:block;width:100%}.sf__inline .sf__item .ant-form-item{display:block!important;width:initial!important;margin-right:0}.sf__inline .ant-form-item-control,.sf__inline .ant-form-item-label{display:block!important;padding:inherit}}.sf__horizontal .ant-form-item-label>label{display:flex;justify-content:flex-end}.sf__horizontal .sf__label-text{overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.sf__horizontal .ant-form-item-label>label{justify-content:flex-start}}.sf__no-colon .ant-form-item-label label::after{content:' '}.sf__compact .ant-form-item{margin-bottom:8px}.sf__compact .sf__array-container .ant-card{margin:0 8px 8px 0}.sf__compact .sf__array-item .ant-card-body{padding:8px}.acl__hide{display:none!important}.setting-drawer__content{position:relative;min-height:100%;background:#fff}.setting-drawer__handle,.theme-btn{position:fixed;display:flex;cursor:pointer}.setting-drawer__body-item{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}.setting-drawer__body-item:first-child{padding-top:0}.setting-drawer__body-item:last-child{padding-bottom:0}.setting-drawer__title{margin-bottom:12px;color:rgba(0,0,0,.85);font-size:14px;line-height:22px}.setting-drawer__theme{margin-top:24px;overflow:hidden}.setting-drawer__theme-tag{float:left;width:20px;height:20px;margin-right:8px;color:#fff;font-weight:700;text-align:center;border-radius:2px;cursor:pointer}.setting-drawer__handle{right:0;z-index:999;align-items:center;justify-content:center;font-size:16px;text-align:center;border-radius:4px 0 0 4px;transition:right .3s cubic-bezier(.9,0,.3,.7);pointer-events:auto}.setting-drawer__handle-icon{color:#fff}.setting-drawer__handle-opened{z-index:1001}.setting-drawer-rtl .setting-drawer__handle{right:inherit;left:0;border-radius:0 4px 4px 0}.theme-btn{right:32px;bottom:102px;z-index:2147483640;flex-direction:column}.theme-btn-active{width:44px;height:44px;color:#1890ff;font-size:22px;line-height:44px}.theme-btn .ant-avatar{color:#000;background-color:#fff;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);transition:color .3s}.theme-btn .ant-avatar:hover,.yn__yes{color:#1890ff}.bg-blue-dark-h,.bg-blue-h,.bg-blue-light-h,.bg-cyan-dark-h,.bg-cyan-h,.bg-cyan-light-h,.bg-error-h,.bg-geekblue-dark-h,.bg-geekblue-h,.bg-geekblue-light-h,.bg-gold-dark-h,.bg-gold-h,.bg-gold-light-h,.bg-green-dark-h,.bg-green-h,.bg-green-light-h,.bg-grey-dark-h,.bg-grey-darker-h,.bg-grey-h,.bg-grey-light-h,.bg-grey-lighter-h,.bg-highlight-h,.bg-info-h,.bg-lime-dark-h,.bg-lime-h,.bg-lime-light-h,.bg-magenta-dark-h,.bg-magenta-h,.bg-magenta-light-h,.bg-normal-h,.bg-orange-dark-h,.bg-orange-h,.bg-orange-light-h,.bg-primary-h,.bg-processing-h,.bg-purple-dark-h,.bg-purple-h,.bg-purple-light-h,.bg-red-dark-h,.bg-red-h,.bg-red-light-h,.bg-success-h,.bg-volcano-dark-h,.bg-volcano-h,.bg-volcano-light-h,.bg-warning-h,.bg-yellow-dark-h,.bg-yellow-h,.bg-yellow-light-h{transition:background-color .3s}.theme-btn-rtl{right:inherit;left:32px}.yn__no,.yn__yes{display:inline-flex;align-items:center;font-style:normal}.yn__no span,.yn__yes span{margin-left:4px}.yn__no{color:#8c8c8c}.pro-passport__langs .anticon,.text-white{color:#fff!important}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.border{border:1px solid #f0f0f0!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-1{border:1px solid #f0f0f0!important}.rounded-md,.rounded-sm{border-radius:2px}.rounded-top-left-md,.rounded-top-left-sm{border-top-left-radius:2px}.rounded-top-right-md,.rounded-top-right-sm{border-top-right-radius:2px}.rounded-bottom-left-md,.rounded-bottom-left-sm{border-bottom-left-radius:2px}.rounded-bottom-right-md,.rounded-bottom-right-sm{border-bottom-right-radius:2px}.border-top-1{border-top:1px solid #f0f0f0!important}.border-right-1{border-right:1px solid #f0f0f0!important}.border-bottom-1{border-bottom:1px solid #f0f0f0!important}.border-left-1{border-left:1px solid #f0f0f0!important}.border-red{border-color:#f5222d!important}.border-volcano{border-color:#fa541c!important}.border-orange{border-color:#fa8c16!important}.border-gold{border-color:#faad14!important}.border-yellow{border-color:#fadb14!important}.border-lime{border-color:#a0d911!important}.border-green{border-color:#52c41a!important}.border-cyan{border-color:#13c2c2!important}.border-blue{border-color:#1890ff!important}.border-geekblue{border-color:#2f54eb!important}.border-purple{border-color:#722ed1!important}.border-magenta{border-color:#eb2f96!important}.border-grey{border-color:#bfbfbf!important}.border-primary{border-color:#1890ff!important}.border-success{border-color:#52c41a!important}.border-error{border-color:#ff4d4f!important}.border-warning{border-color:#faad14!important}.border-info,.border-processing{border-color:#1890ff!important}.border-highlight{border-color:#ff4d4f!important}.border-normal{border-color:#d9d9d9!important}.rounded-lg{border-radius:4px}.rounded-top-left-lg{border-top-left-radius:4px}.rounded-top-right-lg{border-top-right-radius:4px}.rounded-bottom-left-lg{border-bottom-left-radius:4px}.rounded-bottom-right-lg{border-bottom-right-radius:4px}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.border-white{border-color:#fff!important}.rotate-360{transform:rotate(360deg)}.rotate-345{transform:rotate(345deg)}.rotate-330{transform:rotate(330deg)}.rotate-315{transform:rotate(315deg)}.rotate-300{transform:rotate(300deg)}.rotate-285{transform:rotate(285deg)}.rotate-270{transform:rotate(270deg)}.rotate-255{transform:rotate(255deg)}.rotate-240{transform:rotate(240deg)}.rotate-225{transform:rotate(225deg)}.rotate-210{transform:rotate(210deg)}.rotate-195{transform:rotate(195deg)}.rotate-180{transform:rotate(180deg)}.rotate-165{transform:rotate(165deg)}.rotate-150{transform:rotate(150deg)}.rotate-135{transform:rotate(135deg)}.rotate-120{transform:rotate(120deg)}.rotate-105{transform:rotate(105deg)}.rotate-90{transform:rotate(90deg)}.rotate-75{transform:rotate(75deg)}.rotate-60{transform:rotate(60deg)}.rotate-45{transform:rotate(45deg)}.rotate-30{transform:rotate(30deg)}.rotate-15{transform:rotate(15deg)}code{margin:0 4px;padding:2px 4px;font-size:90%;background-color:#f7f7f7;border:1px solid #eee;border-radius:2px}.pr0,.px0{padding-right:0!important}.pl0,.px0,[dir=rtl] .pr0{padding-left:0!important}.pb0,.py0{padding-bottom:0!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-hover{cursor:pointer}.text-hover:hover{color:#1890ff!important}.bg-red-light{background-color:#ff4d4f!important}.bg-red{background-color:#f5222d!important}.bg-red-dark{background-color:#cf1322!important}.bg-red-light-h:hover{background-color:#ff4d4f!important}.bg-red-h:hover{background-color:#f5222d!important}.bg-red-dark-h:hover{background-color:#cf1322!important}.text-red-light{color:#ff4d4f!important}.text-red{color:#f5222d!important}.text-red-dark{color:#cf1322!important}.bg-volcano-light{background-color:#ff7a45!important}.bg-volcano{background-color:#fa541c!important}.bg-volcano-dark{background-color:#d4380d!important}.bg-volcano-light-h:hover{background-color:#ff7a45!important}.bg-volcano-h:hover{background-color:#fa541c!important}.bg-volcano-dark-h:hover{background-color:#d4380d!important}.text-volcano-light{color:#ff7a45!important}.text-volcano{color:#fa541c!important}.text-volcano-dark{color:#d4380d!important}.bg-orange-light{background-color:#ffa940!important}.bg-orange{background-color:#fa8c16!important}.bg-orange-dark{background-color:#d46b08!important}.bg-orange-light-h:hover{background-color:#ffa940!important}.bg-orange-h:hover{background-color:#fa8c16!important}.bg-orange-dark-h:hover{background-color:#d46b08!important}.text-orange-light{color:#ffa940!important}.text-orange{color:#fa8c16!important}.text-orange-dark{color:#d46b08!important}.bg-gold-light{background-color:#ffc53d!important}.bg-gold{background-color:#faad14!important}.bg-gold-dark{background-color:#d48806!important}.bg-gold-light-h:hover{background-color:#ffc53d!important}.bg-gold-h:hover{background-color:#faad14!important}.bg-gold-dark-h:hover{background-color:#d48806!important}.text-gold-light{color:#ffc53d!important}.text-gold{color:#faad14!important}.text-gold-dark{color:#d48806!important}.bg-yellow-light{background-color:#ffec3d!important}.bg-yellow{background-color:#fadb14!important}.bg-yellow-dark{background-color:#d4b106!important}.bg-yellow-light-h:hover{background-color:#ffec3d!important}.bg-yellow-h:hover{background-color:#fadb14!important}.bg-yellow-dark-h:hover{background-color:#d4b106!important}.text-yellow-light{color:#ffec3d!important}.text-yellow{color:#fadb14!important}.text-yellow-dark{color:#d4b106!important}.bg-lime-light{background-color:#bae637!important}.bg-lime{background-color:#a0d911!important}.bg-lime-dark{background-color:#7cb305!important}.bg-lime-light-h:hover{background-color:#bae637!important}.bg-lime-h:hover{background-color:#a0d911!important}.bg-lime-dark-h:hover{background-color:#7cb305!important}.text-lime-light{color:#bae637!important}.text-lime{color:#a0d911!important}.text-lime-dark{color:#7cb305!important}.bg-green-light{background-color:#73d13d!important}.bg-green{background-color:#52c41a!important}.bg-green-dark{background-color:#389e0d!important}.bg-green-light-h:hover{background-color:#73d13d!important}.bg-green-h:hover{background-color:#52c41a!important}.bg-green-dark-h:hover{background-color:#389e0d!important}.text-green-light{color:#73d13d!important}.text-green{color:#52c41a!important}.text-green-dark{color:#389e0d!important}.bg-cyan-light{background-color:#36cfc9!important}.bg-cyan{background-color:#13c2c2!important}.bg-cyan-dark{background-color:#08979c!important}.bg-cyan-light-h:hover{background-color:#36cfc9!important}.bg-cyan-h:hover{background-color:#13c2c2!important}.bg-cyan-dark-h:hover{background-color:#08979c!important}.text-cyan-light{color:#36cfc9!important}.text-cyan{color:#13c2c2!important}.text-cyan-dark{color:#08979c!important}.bg-blue-light{background-color:#40a9ff!important}.bg-blue{background-color:#1890ff!important}.bg-blue-dark{background-color:#096dd9!important}.bg-blue-light-h:hover{background-color:#40a9ff!important}.bg-blue-h:hover{background-color:#1890ff!important}.bg-blue-dark-h:hover{background-color:#096dd9!important}.text-blue-light{color:#40a9ff!important}.text-blue{color:#1890ff!important}.text-blue-dark{color:#096dd9!important}.bg-geekblue-light{background-color:#597ef7!important}.bg-geekblue{background-color:#2f54eb!important}.bg-geekblue-dark{background-color:#1d39c4!important}.bg-geekblue-light-h:hover{background-color:#597ef7!important}.bg-geekblue-h:hover{background-color:#2f54eb!important}.bg-geekblue-dark-h:hover{background-color:#1d39c4!important}.text-geekblue-light{color:#597ef7!important}.text-geekblue{color:#2f54eb!important}.text-geekblue-dark{color:#1d39c4!important}.bg-purple-light{background-color:#9254de!important}.bg-purple{background-color:#722ed1!important}.bg-purple-dark{background-color:#531dab!important}.bg-purple-light-h:hover{background-color:#9254de!important}.bg-purple-h:hover{background-color:#722ed1!important}.bg-purple-dark-h:hover{background-color:#531dab!important}.text-purple-light{color:#9254de!important}.text-purple{color:#722ed1!important}.text-purple-dark{color:#531dab!important}.bg-magenta-light{background-color:#f759ab!important}.bg-magenta{background-color:#eb2f96!important}.bg-magenta-dark{background-color:#c41d7f!important}.bg-magenta-light-h:hover{background-color:#f759ab!important}.bg-magenta-h:hover{background-color:#eb2f96!important}.bg-magenta-dark-h:hover{background-color:#c41d7f!important}.text-magenta-light{color:#f759ab!important}.text-magenta{color:#eb2f96!important}.text-magenta-dark{color:#c41d7f!important}.bg-grey-light{background-color:#d9d9d9!important}.bg-grey{background-color:#bfbfbf!important}.bg-grey-dark{background-color:#8c8c8c!important}.bg-grey-light-h:hover{background-color:#d9d9d9!important}.bg-grey-h:hover{background-color:#bfbfbf!important}.bg-grey-dark-h:hover{background-color:#8c8c8c!important}.text-grey-light{color:#d9d9d9!important}.text-grey{color:#bfbfbf!important}.text-grey-dark{color:#8c8c8c!important}.bg-primary-light{background-color:#40a9ff!important}.bg-primary{background-color:#1890ff!important}.bg-primary-dark{background-color:#096dd9!important}.bg-primary-h:hover{background-color:#1890ff!important}.text-primary-light{color:#40a9ff!important}.text-primary{color:#1890ff!important}.text-primary-dark{color:#096dd9!important}.bg-success-light{background-color:#73d13d!important}.bg-success{background-color:#52c41a!important}.bg-success-dark{background-color:#389e0d!important}.bg-success-h:hover{background-color:#52c41a!important}.text-success-light{color:#73d13d!important}.text-success{color:#52c41a!important}.text-success-dark{color:#389e0d!important}.bg-error-light{background-color:#ff7875!important}.bg-error{background-color:#ff4d4f!important}.bg-error-dark{background-color:#d9363e!important}.bg-error-h:hover{background-color:#ff4d4f!important}.text-error-light{color:#ff7875!important}.text-error{color:#ff4d4f!important}.text-error-dark{color:#d9363e!important}.bg-warning-light{background-color:#ffc53d!important}.bg-warning{background-color:#faad14!important}.bg-warning-dark{background-color:#d48806!important}.bg-warning-h:hover{background-color:#faad14!important}.text-warning-light{color:#ffc53d!important}.text-warning{color:#faad14!important}.text-warning-dark{color:#d48806!important}.bg-info-light{background-color:#40a9ff!important}.bg-info{background-color:#1890ff!important}.bg-info-dark{background-color:#096dd9!important}.bg-info-h:hover{background-color:#1890ff!important}.text-info-light{color:#40a9ff!important}.text-info{color:#1890ff!important}.text-info-dark{color:#096dd9!important}.bg-processing-light{background-color:#40a9ff!important}.bg-processing{background-color:#1890ff!important}.bg-processing-dark{background-color:#096dd9!important}.bg-processing-h:hover{background-color:#1890ff!important}.text-processing-light{color:#40a9ff!important}.text-processing{color:#1890ff!important}.text-processing-dark{color:#096dd9!important}.bg-highlight-light{background-color:#ff7875!important}.bg-highlight{background-color:#ff4d4f!important}.bg-highlight-dark{background-color:#d9363e!important}.bg-highlight-h:hover{background-color:#ff4d4f!important}.text-highlight-light{color:#ff7875!important}.text-highlight{color:#ff4d4f!important}.text-highlight-dark{color:#d9363e!important}.bg-normal-light{background-color:#e6d8d8!important}.bg-normal{background-color:#d9d9d9!important}.bg-normal-dark{background-color:#b3a8a8!important}.bg-normal-h:hover{background-color:#d9d9d9!important}.bg-grey-lighter,.bg-grey-lighter-h:hover{background-color:#f5f5f5!important}.text-normal-light{color:#e6d8d8!important}.text-normal{color:#d9d9d9!important}.text-normal-dark{color:#b3a8a8!important}.bg-grey-darker,.bg-grey-darker-h:hover{background-color:#262626!important}.text-grey-lighter{color:#f5f5f5!important}.text-grey-darker{color:#262626!important}.disabled,.no-data{color:rgba(0,0,0,.25)}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-center,.flex-center-between{display:flex!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center,.flex-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.flex-1{flex:1!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-center-between{align-items:center!important;justify-content:space-between!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.icon-sm{font-size:24px!important}.icon-md{font-size:48px!important}.icon-lg{font-size:72px!important}.icon-xl{font-size:96px!important}.icon-xxl{font-size:120px!important}.img-fluid{max-width:100%;height:auto}.point{cursor:pointer}.no-resize{min-width:100%;max-width:100%;resize:none}.no-data{font-size:16px;line-height:64px;text-align:center}.no-data i{position:relative;top:3px;margin-right:16px;font-size:24px}.fixed-top,.page-loading{top:0;right:0}.block-center{margin:0 auto}.mr0,.mx0{margin-right:0!important}.ml0,.mx0{margin-left:0!important}.mt0,.my0{margin-top:0!important}.mb0,.my0{margin-bottom:0!important}.bg-center{background-position:center center;background-size:cover}.page-loading{position:absolute;bottom:0;left:0;z-index:10000;padding-top:200px;text-align:center;background:#f5f5f5}.pt0,.py0{padding-top:0!important}.color-weak{display:block;filter:invert(80%)}.disabled{pointer-events:none}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;z-index:9;left:0}.fixed-bottom{right:0;bottom:0}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}@media (max-width:575px){.hidden-xs{display:none!important}}@media (max-width:991px){.hidden-md{display:none!important}}@media (max-width:1199px){.hidden-lg{display:none!important}}@media (max-width:1599px){.hidden-xl{display:none!important}}@media (min-width:768px){.hidden-pc{display:none!important}}.m0{margin:0!important}.mr-xs,.mx-xs{margin-right:4px!important}.ml-xs,.mx-xs{margin-left:4px!important}.mt-xs,.my-xs{margin-top:4px!important}.mb-xs,.my-xs{margin-bottom:4px!important}.p0{padding:0!important}.pr-xs,.px-xs{padding-right:4px!important}.pl-xs,.px-xs{padding-left:4px!important}.pt-xs,.py-xs{padding-top:4px!important}.pb-xs,.py-xs{padding-bottom:4px!important}.m-xs{margin:4px!important}.mr-sm,.mx-sm{margin-right:8px!important}.ml-sm,.mx-sm{margin-left:8px!important}.mt-sm,.my-sm{margin-top:8px!important}.mb-sm,.my-sm{margin-bottom:8px!important}.p-xs{padding:4px!important}.pr-sm,.px-sm{padding-right:8px!important}.pl-sm,.px-sm,[dir=rtl] .pr-sm{padding-left:8px!important}.pt-sm,.py-sm{padding-top:8px!important}.pb-sm,.py-sm{padding-bottom:8px!important}.m-sm{margin:8px!important}.mr-md,.mx-md{margin-right:16px!important}.ml-md,.mx-md{margin-left:16px!important}.mt-md,.my-md{margin-top:16px!important}.mb-md,.my-md{margin-bottom:16px!important}.p-sm{padding:8px!important}.pr-md,.px-md{padding-right:16px!important}.pl-md,.px-md{padding-left:16px!important}.pt-md,.py-md{padding-top:16px!important}.pb-md,.py-md{padding-bottom:16px!important}.m-md{margin:16px!important}.mr-lg,.mx-lg{margin-right:24px!important}.ml-lg,.mx-lg{margin-left:24px!important}.mt-lg,.my-lg{margin-top:24px!important}.mb-lg,.my-lg{margin-bottom:24px!important}.p-md{padding:16px!important}.pr-lg,.px-lg{padding-right:24px!important}.pl-lg,.px-lg,[dir=rtl] .pr-lg{padding-left:24px!important}.pt-lg,.py-lg{padding-top:24px!important}.pb-lg,.py-lg{padding-bottom:24px!important}.m-lg{margin:24px!important}.mr-xl,.mx-xl{margin-right:32px!important}.ml-xl,.mx-xl{margin-left:32px!important}.mt-xl,.my-xl{margin-top:32px!important}.mb-xl,.my-xl{margin-bottom:32px!important}.p-lg{padding:24px!important}.pr-xl,.px-xl{padding-right:32px!important}.pl-xl,.px-xl{padding-left:32px!important}.pt-xl,.py-xl{padding-top:32px!important}.pb-xl,.py-xl{padding-bottom:32px!important}.m-xl{margin:32px!important}.mr-xxl,.mx-xxl{margin-right:48px!important}.ml-xxl,.mx-xxl{margin-left:48px!important}.mt-xxl,.my-xxl{margin-top:48px!important}.mb-xxl,.my-xxl{margin-bottom:48px!important}.p-xl{padding:32px!important}.pr-xxl,.px-xxl{padding-right:48px!important}.pl-xxl,.px-xxl,[dir=rtl] .pr-xxl{padding-left:48px!important}.pt-xxl,.py-xxl{padding-top:48px!important}.pb-xxl,.py-xxl{padding-bottom:48px!important}.m-xxl{margin:48px!important}.p-xxl{padding:48px!important}[dir=rtl] .mr0{margin-left:0!important;margin-right:inherit!important}[dir=rtl] .ml0{margin-right:0!important;margin-left:inherit!important}[dir=rtl] .pr0{padding-right:inherit!important}[dir=rtl] .pl0{padding-right:0!important;padding-left:inherit!important}[dir=rtl] .mr-xs{margin-left:4px!important;margin-right:inherit!important}[dir=rtl] .ml-xs{margin-right:4px!important;margin-left:inherit!important}[dir=rtl] .pr-xs{padding-left:4px!important;padding-right:inherit!important}[dir=rtl] .pl-xs{padding-right:4px!important;padding-left:inherit!important}[dir=rtl] .mr-sm{margin-left:8px!important;margin-right:inherit!important}[dir=rtl] .ml-sm{margin-right:8px!important;margin-left:inherit!important}[dir=rtl] .pr-sm{padding-right:inherit!important}[dir=rtl] .pl-sm{padding-right:8px!important;padding-left:inherit!important}[dir=rtl] .mr-md{margin-left:16px!important;margin-right:inherit!important}[dir=rtl] .ml-md{margin-right:16px!important;margin-left:inherit!important}[dir=rtl] .pr-md{padding-left:16px!important;padding-right:inherit!important}[dir=rtl] .pl-md{padding-right:16px!important;padding-left:inherit!important}[dir=rtl] .mr-lg{margin-left:24px!important;margin-right:inherit!important}[dir=rtl] .ml-lg{margin-right:24px!important;margin-left:inherit!important}[dir=rtl] .pr-lg{padding-right:inherit!important}[dir=rtl] .pl-lg{padding-right:24px!important;padding-left:inherit!important}[dir=rtl] .mr-xl{margin-left:32px!important;margin-right:inherit!important}[dir=rtl] .ml-xl{margin-right:32px!important;margin-left:inherit!important}[dir=rtl] .pr-xl{padding-left:32px!important;padding-right:inherit!important}[dir=rtl] .pl-xl{padding-right:32px!important;padding-left:inherit!important}[dir=rtl] .mr-xxl{margin-left:48px!important;margin-right:inherit!important}[dir=rtl] .ml-xxl{margin-right:48px!important;margin-left:inherit!important}[dir=rtl] .pr-xxl{padding-right:inherit!important}[dir=rtl] .pl-xxl{padding-right:48px!important;padding-left:inherit!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right,[dir=rtl] .text-left{text-align:right!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-nowrap{white-space:nowrap!important}.text-wrap{white-space:pre-wrap!important}.text-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.font-weight-normal{font-weight:400}.font-weight-bold,.se__title{font-weight:700}.text-xs{font-size:10px!important}.text-sm{font-size:12px!important}.text-md{font-size:14px!important}.text-lg{font-size:16px!important}.text-xl{font-size:20px!important}.text-xxl{font-size:26px!important}[dir=rtl] .text-right{text-align:left!important}.width-xs{width:80px!important}.max-width-xs{max-width:80px!important}.min-width-xs{min-width:80px!important}.width-sm{width:160px!important}.max-width-sm{max-width:160px!important}.min-width-sm{min-width:160px!important}.width-md{width:240px!important}.max-width-md{max-width:240px!important}.min-width-md{min-width:240px!important}.width-lg{width:320px!important}.max-width-lg{max-width:320px!important}.min-width-lg{min-width:320px!important}.width-xl{width:400px!important}.max-width-xl{max-width:400px!important}.min-width-xl{min-width:400px!important}.width-xxl{width:480px!important}.max-width-xxl{max-width:480px!important}.min-width-xxl{min-width:480px!important}.width-10{width:10%!important}.max-width-10{max-width:10%!important}.min-width-10{min-width:10%!important}.width-20{width:20%!important}.max-width-20{max-width:20%!important}.min-width-20{min-width:20%!important}.width-30{width:30%!important}.max-width-30{max-width:30%!important}.min-width-30{min-width:30%!important}.width-40{width:40%!important}.max-width-40{max-width:40%!important}.min-width-40{min-width:40%!important}.width-50{width:50%!important}.max-width-50{max-width:50%!important}.min-width-50{min-width:50%!important}.width-60{width:60%!important}.max-width-60{max-width:60%!important}.min-width-60{min-width:60%!important}.width-70{width:70%!important}.max-width-70{max-width:70%!important}.min-width-70{min-width:70%!important}.width-80{width:80%!important}.max-width-80{max-width:80%!important}.min-width-80{min-width:80%!important}.width-90{width:90%!important}.max-width-90{max-width:90%!important}.min-width-90{min-width:90%!important}.width-100{width:100%!important}.max-width-100{max-width:100%!important}.min-width-100{min-width:100%!important}@media (max-width:767px){.hidden-mobile,.hidden-sm{display:none!important}.max-width-sm,.min-width-sm,.width-sm{width:100%!important}}.scrollbar{overflow:auto}.scrollbar-x{overflow-x:auto;overflow-y:hidden}.scrollbar-y{overflow-x:hidden;overflow-y:auto}.ant-anchor-wrapper,.ant-dialog-wrap,.ant-drawer-body,.ant-drawer-wrapper-body,.scrollbar,body,textarea.ant-input{scrollbar-color:rgba(0,0,0,.3) #6e6e6e;scrollbar-width:thin}.ant-anchor-wrapper::-webkit-scrollbar,.ant-dialog-wrap::-webkit-scrollbar,.ant-drawer-body::-webkit-scrollbar,.ant-drawer-wrapper-body::-webkit-scrollbar,.scrollbar::-webkit-scrollbar,body::-webkit-scrollbar,textarea.ant-input::-webkit-scrollbar{width:6px;height:6px}.ant-anchor-wrapper::-webkit-scrollbar-track,.ant-dialog-wrap::-webkit-scrollbar-track,.ant-drawer-body::-webkit-scrollbar-track,.ant-drawer-wrapper-body::-webkit-scrollbar-track,.scrollbar::-webkit-scrollbar-track,body::-webkit-scrollbar-track,textarea.ant-input::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.ant-anchor-wrapper::-webkit-scrollbar-thumb,.ant-dialog-wrap::-webkit-scrollbar-thumb,.ant-drawer-body::-webkit-scrollbar-thumb,.ant-drawer-wrapper-body::-webkit-scrollbar-thumb,.scrollbar::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,textarea.ant-input::-webkit-scrollbar-thumb{background-color:#6e6e6e;outline:#333 solid 1px}.st{display:block}.st__p-left .ant-table-pagination{display:block;float:none;text-align:left}.st__p-center .ant-table-pagination{display:block;float:none;text-align:center}.st__btn-sub .st__btn-text{color:inherit}.st__btn-disabled .st__btn-text{color:rgba(0,0,0,.25);pointer-events:none}.st .nz-resizable-handle{display:flex;align-items:center;justify-content:center}.st .nz-resizable-handle>i{width:1px;height:60%;background:#d9d9d9}.st .nz-resizable-preview{border-width:0 1px 0 0}.st .nz-resizable.ant-table-column-has-sorters .nz-resizable-handle{margin-right:8px}.st .ant-table~nz-pagination>.ant-pagination{margin-bottom:0}.st__filter-keyword{padding:8px}.st .ant-table-column-title{display:flex;align-items:center}.st__head-optional,.st__head-tip{margin-left:2px;color:rgba(0,0,0,.35)}.st .ant-table-thead>tr>th .ant-table-filter-selected.ant-table-filter-icon{color:#1890ff}.st__checkall-selection{display:inline-block;margin-left:4px}.sv,.sv__container{display:block}.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table{margin:0}.st .ant-table-cell-fix-left-first::after,.st .ant-table-cell-fix-left-last::after{transform:translateX(80%)}.st .ant-table-cell-fix-right-first::after,.st .ant-table-cell-fix-right-last::after{transform:translateX(-80%)}@media screen and (min-width:768px){.st__width-strict .ant-table-body>table,.st__width-strict .ant-table-content>table{word-wrap:break-word!important;table-layout:fixed!important}}.sv+.sv{margin-top:8px}.sv__container .ant-row{margin-bottom:-8px;overflow:hidden}.sv__item-fixed{display:flex}.sv__item-fixed .sv__label{flex:0 0 auto;overflow:hidden;text-align:right;text-overflow:ellipsis}.sv__item-fixed .sv__detail{flex:1 0 0}.sv__item+.ant-divider{margin:0 0 8px}.sv__title{display:block;float:none;clear:both;width:100%;margin-bottom:8px;color:rgba(0,0,0,.85);font-weight:500;font-size:14px}.sv__detail,.sv__label{display:table-cell;line-height:22px;padding-bottom:8px}.sv__label{color:rgba(0,0,0,.5);white-space:nowrap}.sv__label:not(.sv__label-empty)::after{position:relative;top:-.5px;margin:0 8px 0 2px;content:':'}.sv__label-optional{margin-left:2px;color:rgba(0,0,0,.35)}.sv__label-optional-no-text{margin-left:0}.sv__label-optional>.anticon{margin-left:2px}.sv__detail{width:100%;color:rgba(0,0,0,.85);word-break:break-all}.sv__type-primary .sv__detail{color:#1890ff}.sv__type-success .sv__detail{color:#52c41a}.sv__type-danger .sv__detail{color:#ff4d4f}.sv__type-warning .sv__detail{color:#faad14}.sv__default::before{content:-}.sv__default~.sv__unit{display:none!important}.sv__unit{display:inline;margin-left:8px;color:#8c8c8c}.sv__small .ant-row{margin-bottom:-8px}.sv__small .sv__title{margin-bottom:12px;color:rgba(0,0,0,.85)}.sv__small .sv__detail,.sv__small .sv__label{padding-bottom:8px}.sv__value{display:inline-flex;align-items:center}.sv__value-prefix,.sv__value-unit{color:rgba(0,0,0,.5);font-size:12px;font-style:normal}.sv__value-prefix{padding-right:3px}.sv__value-text{font-size:18px}.sv__value-unit{padding-left:3px}.sv__value:not(:first-child){position:relative;margin-left:8px;padding-left:14px}.sv__value:not(:first-child)::before{position:absolute;left:0;width:6px;color:rgba(0,0,0,.5);content:/}.sv__value-small .sv__value-text{font-size:14px}.sv__value-large .sv__value-text{font-size:24px}.sv__large .sv__title{font-size:16px}.sv__horizontal .sv__label-width{display:flex;justify-content:flex-end}.se__title,.sv__vertical .sv__detail,.sv__vertical .sv__label{display:block}.sv__horizontal .sv__label-width .sv__label-text{overflow:hidden;text-overflow:ellipsis}.sv__vertical .sv__label{padding-bottom:8px}.sv__no-colon::after{content:' '!important}.se__title{float:none;clear:both;width:100%;color:rgba(0,0,0,.85);font-size:14px;line-height:1.66667}.se__item:last-child{margin-bottom:0;padding-bottom:0}.se__item-empty::before{display:inline-block;content:''}.se__item+.ant-divider{margin:0 0 16px}.se__label{display:table-cell;flex:0 0 auto;width:initial;white-space:nowrap;text-align:right}.se__label-optional{margin-left:2px;color:rgba(0,0,0,.35)}.se__label-optional-no-text{margin-left:0}.se__label-optional>.anticon{margin-left:2px}.se__control{flex:1 0 0;width:100%}.se__compact>.se__item,.se__compact>.se__title{margin-bottom:8px}.se__compact>.se__item+.ant-divider,.se__compact>.se__title+.ant-divider{margin:0 0 8px}.se__compact .ant-form-item-extra{display:none}.se__line{padding-bottom:8px;border-bottom:1px dashed #f0f0f0}.se__hide-label .se__nolabel,.se__inline .se__nolabel,.se__vertical .se__nolabel{display:none!important}.se__horizontal>.se__item{display:flex}.se__horizontal>.se__item:last-child{margin-bottom:0}.se__horizontal>.se__item .se__label{display:flex;justify-content:flex-end}.se__horizontal>.se__item .se__label-text{overflow:hidden;text-overflow:ellipsis}.se__horizontal>.se__item .ant-form-item-required::before{line-height:inherit}.se__horizontal>.se__item .ant-form-item-label>label::after{margin-left:4px}.se__vertical>.se__item{display:block;width:100%}.se__inline .ant-form-item-label,.se__inline .se__control{display:inline-block;width:initial!important;text-align:left;vertical-align:top}.se__inline>.se__item{margin-right:16px}.se__inline>.se__item[col='1']{flex-basis:auto;width:100%}.se__inline>.se__item:last-child{margin-right:0}.se__no-colon::after{content:' '!important}@media (max-width:767px){.se__horizontal>.se__item{display:block}.se__horizontal>.se__item .ant-form-item-label{width:100%!important;text-align:left}.se__horizontal>.se__item .se__label{justify-content:normal}.se__horizontal .se__control,.se__horizontal .se__label,.se__vertical .se__control,.se__vertical .se__label{width:100%!important}}.avatar-list,.avatar-list__item,.avatar-list__wrap{display:inline-block}.avatar-list__wrap{margin-left:8px;padding:0;font-size:0}.avatar-list__item{width:28px;height:28px;margin-left:-8px;font-size:12px}.avatar-list__item .ant-avatar{border:1px solid #fff;cursor:pointer}.footer-toolbar,.notice-icon__clear{border-top:1px solid #f0f0f0;transition:all .3s}.avatar-list__large{width:32px;height:32px}.avatar-list__small{width:22px;height:22px}.avatar-list__mini{width:20px;height:20px}.avatar-list__mini .ant-avatar{width:20px;height:20px;line-height:20px}.avatar-list__mini .ant-avatar-string{font-size:12px;line-height:18px}ellipsis{display:inline}.ellipsis{display:inline-block;width:100%;overflow:hidden;word-break:break-all}.ellipsis__lines{position:relative}.ellipsis__line-clamp{position:relative;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.ellipsis__shadow{position:absolute;z-index:-999;display:block;opacity:0}.error-collect{padding-right:24px;color:#f5222d;cursor:pointer}.error-collect__count{padding-left:8px}.error-collect-rtl{padding-right:0;padding-left:24px}.error-collect-rtl .error-collect__count{padding-right:8px;padding-left:0}.exception{display:flex;align-items:center;height:100%}.exception__img-block{flex:0 0 62.5%;width:62.5%;padding-right:152px;zoom:1}.exception__img-block::after,.exception__img-block::before{display:table;content:' '}.exception__img-block::after{clear:both;height:0;font-size:0}.exception__img{float:right;width:100%;max-width:430px;height:360px;background-repeat:no-repeat;background-position:50% 50%;background-size:100% 100%}.exception__cont{flex:auto}.exception__cont-title{margin-bottom:24px;color:#434e59;font-weight:600;font-size:72px;line-height:72px}.exception__cont-desc{margin-bottom:16px;color:rgba(0,0,0,.45);font-size:20px;line-height:28px}.exception__cont-actions .ant-btn:not(:last-child){margin-right:8px}@media screen and (max-width:1200px){.exception__img-block{padding-right:88px}}@media screen and (max-width:576px){.exception{display:block;text-align:center}.exception__img-block{margin:0 auto 24px;padding-right:0}}@media screen and (max-width:480px){.exception__img-block{margin-bottom:-24px;overflow:hidden}}.exception-rtl .exception__cont-actions .ant-btn:not(:last-child){margin-right:0}.footer-toolbar{position:fixed;right:0;bottom:0;display:flex;height:48px;padding:0 16px;line-height:48px;background:#fff;box-shadow:0 -1px 2px rgba(0,0,0,.03)}.footer-toolbar__left{flex:1}.full-content{display:block;height:100%;overflow:auto}.full-content__body{overflow:hidden}.global-footer{display:block;margin:48px 0 24px;padding:0 16px;text-align:center}.global-footer__links{margin-bottom:8px}.global-footer__links-item{display:inline-block;color:rgba(0,0,0,.45);transition:all .3s}.global-footer__links-item:not(:last-child){margin-right:40px}.global-footer__links-item:hover{color:rgba(0,0,0,.85)}.global-footer__copyright{color:rgba(0,0,0,.45);font-size:12px}.global-footer-rtl .global-footer__links-item:not(:last-child){margin-right:inherit;margin-left:40px}.notice-icon{width:336px}.notice-icon__btn{display:inline-block;cursor:pointer;transition:all .3s}.notice-icon .ant-popover-inner-content{padding:0}.notice-icon .ant-tabs-bar{margin-bottom:4px}.notice-icon .ant-tabs-nav .ant-tabs-tab{margin-right:32px;padding:12px 16px}.notice-icon .ant-tabs-nav .ant-tabs-tab:last-child{margin-right:0}.notice-icon .ant-tabs-nav-scroll{text-align:center}.notice-icon .ant-list{max-height:400px;overflow:auto}.notice-icon .ant-list-item{padding-right:24px;padding-left:24px;overflow:hidden;cursor:pointer;transition:all .3s}.page-header,.page-header .ant-tabs-bar{border-bottom:1px solid #f0f0f0}.notice-icon .ant-list-item:hover{background:#e6f7ff}.notice-icon .ant-list-item-meta{width:100%}.notice-icon .ant-list-item-meta-title{margin-bottom:8px;font-weight:400}.notice-icon .ant-list-item .ant-avatar{margin-top:4px;background:#fff}.notice-icon__notfound{padding:73px 0 88px;color:rgba(0,0,0,.45);text-align:center}.notice-icon__clear,.notice-icon__clear:hover{color:rgba(0,0,0,.85)}.notice-icon__notfound-img{display:inline-block;height:76px;margin-bottom:16px}.notice-icon__clear{height:46px;line-height:46px;text-align:center;border-radius:0 0 2px 2px;cursor:pointer}.notice-icon__item-desc,.notice-icon__item-time{font-size:12px;line-height:1.66667}.notice-icon__item .ant-badge-count{top:-10px}.notice-icon__item-read{opacity:.4}.notice-icon__item-time{margin-top:4px}.notice-icon__item-extra{float:right;margin-top:-1.5px;margin-right:0;color:rgba(0,0,0,.45);font-weight:400}.page-header{display:block;padding:8px 16px 0;background-color:#fff}.page-header__wide{max-width:1200px;margin:auto}.page-header .ant-breadcrumb{margin-bottom:8px}.page-header .ant-tabs{margin:0 0 -9px}.page-header__detail{display:flex}.page-header__row{display:flex;width:100%}.page-header__logo{flex:0 1 auto;margin-right:8px;padding-top:1px}.page-header__logo img{display:block;width:28px;height:28px;border-radius:2px}.page-header__title{color:rgba(0,0,0,.85);font-weight:500;font-size:20px}.page-header__title small{padding-left:8px;font-weight:400;font-size:14px}.page-header__action{min-width:266px;margin-left:56px}.page-header__desc,.page-header__title{flex:auto}.page-header__action,.page-header__extra,.page-header__main{flex:0 1 auto}.page-header__main{width:100%}.page-header__action,.page-header__desc,.page-header__extra,.page-header__logo,.page-header__title{margin-bottom:8px}.page-header__action,.page-header__extra{text-align:right}.page-header__extra{min-width:242px;margin-left:88px}@media screen and (max-width:1200px){.page-header__extra{margin-left:44px}}@media screen and (max-width:992px){.page-header__extra{margin-left:20px}}@media screen and (max-width:768px){.page-header__row{display:block}.page-header__action,.page-header__extra{margin-left:0;text-align:left}}@media screen and (max-width:576px){.page-header__detail{display:block}}@media screen and (max-width:480px){.page-header__action .ant-btn,.page-header__action .ant-btn-group{display:block;margin-bottom:8px}.page-header__action .ant-input-search-enter-button .ant-btn{margin-bottom:0}.page-header__action .ant-btn-group>.ant-btn{display:inline-block;margin-bottom:0}}.page-header-rtl .page-header__logo{margin-right:0;margin-left:8px}.page-header-rtl .page-header__title small{padding-right:8px;padding-left:0}.page-header-rtl .page-header__action{margin-right:56px;margin-left:0}.page-header-rtl .page-header__extra{margin-right:88px;margin-left:0}@media screen and (max-width:1200px){.page-header-rtl .page-header__extra{margin-right:44px;margin-left:0}}@media screen and (max-width:992px){.page-header-rtl .page-header__extra{margin-right:20px;margin-left:0}}.quick-menu{position:fixed;right:-1px;left:auto;z-index:11;display:block;backface-visibility:hidden;transition:margin .3s cubic-bezier(1,0,0,1)}.quick-menu,.quick-menu__ctrl{background-color:#fff;border:1px solid #fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.08),0 9px 28px 0 rgba(0,0,0,.05),0 12px 48px 16px rgba(0,0,0,.03)}.quick-menu__inner{position:relative;padding:0 12px}.quick-menu__ctrl{position:absolute;top:-1px;left:-50px;width:50px;height:50px;text-align:center;border-right:0;border-radius:3px 0 0 3px;cursor:pointer}.quick-menu__ctrl-icon{font-size:20px;line-height:49px}.result{display:block;width:72%;margin:0 auto;text-align:center}.result__icon{margin-bottom:24px;font-size:72px;line-height:72px}.result__icon-success{color:#52c41a}.result__icon-error{color:#ff4d4f}.result__title{margin-bottom:16px;color:rgba(0,0,0,.85);font-weight:500;font-size:24px;line-height:32px}.result__desc{margin-bottom:24px;color:rgba(0,0,0,.45);font-size:14px;line-height:22px}.result__extra{padding:24px 40px;text-align:left;border-radius:2px}@media screen and (max-width:480px){.result{width:100%}.result__extra{padding:18px 20px}}.result__actions{margin-top:32px}.result__actions button:not(:last-child){margin-right:8px}.reuse-tab{display:block;background-color:#fff;outline:0;user-select:none}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{position:absolute;display:none;margin:0;color:rgba(0,0,0,.85);font-size:10px}.reuse-tab .ant-tabs-nav .ant-tabs-tab:hover .reuse-tab__op{display:block}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__name-width{display:inline-block;overflow:hidden;text-overflow:ellipsis}.reuse-tab .ant-tabs>.ant-tabs-nav{margin:0}.reuse-tab__line{padding:8px;border-bottom:1px solid #d9d9d9}.reuse-tab__line .ant-tabs-nav::before{border-bottom:none}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab{padding:0}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:12px;right:2px}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__name{display:inline-block;padding:8px 20px}.reuse-tab__card{padding-top:8px}.reuse-tab__card .ant-tabs-nav-container{padding:0 8px}.reuse-tab__card .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:4px;right:4px}.reuse-tab__disabled{opacity:.8;pointer-events:none}.reuse-tab__cm .ant-menu{border:1px solid #e9e9e9}.g2-card__footer,.message__item,.quick-chat__reply{border-top:1px solid #f0f0f0}.tag-select{position:relative;display:block;max-height:24px;margin-left:-8px;overflow:hidden;line-height:1.66667;transition:all .3s;user-select:none}.tag-select__expanded{max-height:200px;transition:all .3s}.tag-select__has-expand{padding-right:50px}.tag-select .ant-tag{margin-right:24px;padding:0 8px}.tag-select__trigger{position:absolute;top:0;right:0}.loading-default,.onboarding__mask{position:fixed;top:0;left:0;bottom:0}.tag-select__trigger-icon{margin-left:8px;font-size:12px}.tag-select-rtl{margin-right:-8px;margin-left:0}.tag-select-rtl__has-expand{padding-right:0!important;padding-left:50px!important}.tag-select-rtl .tag-select .ant-tag{margin-right:0;margin-left:24px}.tag-select-rtl .tag-select__trigger{right:initial;left:0}.tag-select-rtl .tag-select__trigger-icon{margin-right:0;margin-left:8px}.loading-backdrop{z-index:9999;background-color:rgba(0,0,0,.15)}.loading-default{right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center}.g2-mini-progress,.g2-pie,.pdf-container,g2,g2-bar,g2-chart,g2-custom,g2-gauge,g2-mini-area,g2-mini-bar,g2-single-bar,g2-tag-cloud,g2-timeline{display:block}.loading-default__icon{margin-bottom:8px;color:#1890ff;font-size:24px}.loading-default__text{color:#1890ff}.loading-default__custom{width:64px;height:64px;fill:#fff}.onboarding+.cdk-overlay-container{z-index:99999}.onboarding__mask{right:0;z-index:99998;background-color:#000;opacity:.5}.onboarding__item{position:absolute}.onboarding__light{position:absolute;z-index:99999;background-color:rgba(255,255,255,.9);animation:2.5s cubic-bezier(.55,.05,.6,.2) 0s infinite normal none running onboardingAnt;pointer-events:none}.g2-card,.g2-card__top,.pdf-container{position:relative}.onboarding__light-el{z-index:100000!important}.onboarding__light-ant{transition:all .3s ease-out}.onboarding__footer{margin-top:8px}.onboarding__total{color:rgba(0,0,0,.85)}.g2-card__meta,.g2-pie__legend-percent,.g2-pie__total-title{color:rgba(0,0,0,.45)}@keyframes onboardingAnt{0%,33%{box-shadow:#fff 0 0 0 2px,#fff 0 0 0}100%,66%{box-shadow:#fff 0 0 0 2px,rgba(255,255,255,.01) 0 0 0 10px}}.pdf-container{height:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}g2-bar,g2-tag-cloud{width:100%}.g2-card__top{width:100%;overflow:hidden}.g2-card__top-margin{margin-bottom:12px}.g2-card__top-has-margin{margin-bottom:20px}.g2-card__meta{height:22px;font-size:12px;line-height:22px}.g2-card__total,.g2-pie__legend-title{color:rgba(0,0,0,.85)}.g2-card__meta-wrap{float:left}.g2-card__meta-action{position:absolute;top:4px;right:0;line-height:1;cursor:pointer}.g2-card__avatar{position:relative;top:4px;float:left;margin-right:20px}.g2-card__total{height:38px;margin-top:4px;margin-bottom:0;overflow:hidden;font-size:30px;line-height:38px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.g2-card__desc{width:100%;margin-bottom:12px}.g2-card__footer{margin-top:8px;padding-top:9px}.g2-card__footer>*{position:relative}.g2-mini-progress{position:relative;width:100%;padding:5px 0}.g2-mini-progress__wrap{position:relative;background-color:#f5f5f5}.g2-mini-progress__value{width:0;height:100%;background-color:#1890ff;border-radius:1px 0 0 1px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.g2-mini-progress__target{position:absolute;top:0;bottom:0}.g2-mini-progress__target-item{position:absolute;top:0;left:0;width:2px;height:4px;border-radius:100px}.g2-pie,.g2-pie__chart{position:relative}.g2-mini-progress__target-item:last-child{top:auto;bottom:0}.g2-pie__legend{position:absolute;top:50%;right:0;min-width:250px;margin:0 20px;padding:0;list-style:none;transform:translateY(-50%)}.g2-pie__legend-item{height:22px;margin-bottom:16px;line-height:22px;cursor:pointer}.g2-pie__legend-item:last-child{margin-bottom:0}.g2-pie__legend-dot{position:relative;top:-1px;display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:8px}.g2-pie__legend-value{position:absolute;right:0}.g2-pie__legend-has .g2-pie__chart{width:calc(100% - 240px)}.g2-pie__legend-block .g2-pie__chart{width:100%;margin:0 0 32px}.g2-pie__legend-block .g2-pie__legend{position:relative;min-width:auto;transform:none}.g2-pie__total{position:absolute;top:50%;left:50%;height:62px;text-align:center;transform:translate(-50%,-50%)}.g2-pie__total-title{height:22px;margin-bottom:8px;font-weight:400;font-size:14px;line-height:22px}.g2-pie__total-stat{display:block;height:32px;color:rgba(0,0,0,.85);font-size:1.2em;line-height:32px;white-space:nowrap}.g2-pie__mini .g2-pie__total-title{margin-top:4px;margin-bottom:0}.g2-radar{display:block}.g2-radar__legend{margin-top:16px}.g2-radar__legend-item{position:relative;color:rgba(0,0,0,.45);line-height:22px;text-align:center;cursor:pointer}.g2-radar__legend-item::after{position:absolute;top:8px;right:0;width:1px;height:40px;content:''}.g2-radar__legend-item:last-child::after{display:none}.g2-radar__legend-dot,.g2-water-wave,.number-info,.number-info__value-text,.trend{display:inline-block}.g2-radar__legend-title{margin-top:4px;margin-bottom:0;padding-left:16px;color:rgba(0,0,0,.85);font-size:24px;line-height:32px}.g2-radar__legend-dot{position:relative;top:-1px;width:6px;height:6px;margin-right:6px;border-radius:6px}.g2-water-wave{position:relative;transform-origin:left}.g2-water-wave__desc{position:absolute;top:32px;left:0;width:100%;text-align:center}.g2-water-wave__desc-title{color:rgba(0,0,0,.45);font-size:14px;line-height:22px}.g2-water-wave__desc-percent{color:rgba(0,0,0,.85);font-size:24px;line-height:32px}.g2-water-wave__canvas{transform:scale(.5);transform-origin:0 0}.number-info__title{margin-bottom:16px;color:rgba(0,0,0,.85);font-size:14px;transition:all .3s}.number-info__title-sub{height:22px;overflow:hidden;color:rgba(0,0,0,.45);font-size:12px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value{margin-top:4px;overflow:hidden;font-size:0;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value-suffix{margin-left:4px;color:rgba(0,0,0,.85);font-size:16px;font-style:normal}.number-info__value-text{height:32px;color:rgba(0,0,0,.85);font-size:24px;line-height:32px}.number-info__value-sub{margin-left:32px;color:rgba(0,0,0,.45);font-size:14px;vertical-align:top}.number-info__value-sub .anticon{margin-left:4px;font-size:12px;transform:scale(.82)}.number-info__value-sub .anticon-caret-up{color:#f5222d}.number-info__value-sub .anticon-caret-down{color:#52c41a}.number-info__light .number-info__value-text{color:rgba(0,0,0,.85)}.number-info:not(:first-child){position:relative;margin-left:32px;padding-left:32px}.number-info:not(:first-child)::after{position:absolute;top:0;bottom:0;left:0;width:1px;margin:8px 0;content:''}.trend{font-size:12px;line-height:22px}.trend__down,.trend__up{position:relative;top:1px;margin-left:4px}.trend__down i,.trend__up i{font-size:12px;transform:scale(.83)}.trend__up{color:#f5222d}.trend__down{top:-1px;color:#52c41a}.trend__grey .trend__down,.trend__grey .trend__up{color:rgba(0,0,0,.85)}.trend__reverse .trend__up{color:#52c41a}.trend__reverse .trend__down{color:#f5222d}.alain-pro__menu{display:block}.alain-pro__menu-item--disabled{pointer-events:none}.alain-pro__menu-only-icon .alain-pro__menu-item{padding-right:8px!important;padding-left:8px!important}.alain-pro__menu-only-icon .alain-pro__menu-item:first-child{padding-left:0}.alain-pro__menu-only-icon .alain-pro__menu-icon{margin-right:0;font-size:16px}.alain-pro__menu-title{position:relative}.alain-pro__menu-title-badge{display:flex;justify-content:center;width:18px;height:18px;padding:0;font-size:12px;line-height:18px;background:#1890ff;border-radius:50%}.alain-pro__menu-title-badge>em{color:#fff;font-style:normal}.alain-pro__menu-img{width:14px!important;height:14px!important}.alain-pro__side-nav .alain-pro__menu-title{display:flex;align-items:center}.alain-pro__side-nav .alain-pro__menu-title-text{flex:1}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge{position:absolute;top:0;right:-16px;width:8px;height:8px}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge>em{display:none}.alain-pro__main{min-height:100vh;background-color:#f0f2f5}.alain-pro__main>.ant-layout-header{height:56px;line-height:56px}.alain-pro__page-header-wrapper{position:relative;display:block;margin:-24px -24px 0}.alain-pro__page-header-content{margin:24px 24px 0}.alain-pro__page-grid{display:block;width:100%;height:100%;min-height:100%;transition:.3s}.alain-pro__page-grid-wide{max-width:1200px;margin:0 auto}.alain-pro__page-grid-no-spacing{width:initial;margin:-24px -24px 0}.alain-pro__fetching-icon{display:none}.alain-pro__fetching .alain-pro__fetching-icon{display:block}@media screen and (max-width:767px){.alain-pro__page-header-content{margin:24px 10px 0}}.alain-pro__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 12px 0 0;background:#fff;box-shadow:0 1px 4px rgba(0,21,41,.08)}.alain-pro__header-logo{padding:0 24px}.alain-pro__header-right{display:flex;align-items:center;justify-items:center}.alain-pro__header-item{position:relative;display:flex;align-items:center;justify-items:center;height:56px;padding:0 12px;line-height:56px;cursor:pointer;transition:all .3s}.alain-pro__header-item-icon,.alain-pro__header-item>i{font-size:14px!important;transform:none!important}.alain-pro__header-item,.alain-pro__header-item-icon{color:rgba(0,0,0,.65)}.alain-pro__header-item:hover{background:rgba(0,0,0,.025)}.alain-pro__header-item:hover,.alain-pro__header-item:hover .alain-pro__header-item-icon{color:#000}.alain-pro__header-trigger{padding:0 24px}.alain-pro__header-trigger .alain-pro__header-item-icon{font-size:20px!important}.alain-pro__header-search:hover{background:0 0}.alain-pro__header-fixed{position:fixed;top:0;right:0;z-index:9;width:100%;transition:width .2s}.alain-pro__header-hide{opacity:0;transition:opacity .2s}@media only screen and (max-width:767px){.alain-pro__header-name{display:none}.alain-pro__header-trigger{padding:0 12px}.alain-pro__header-logo{position:relative;padding-right:12px;padding-left:12px}}layout-pro-header{z-index:1}[dir=rtl] .alain-pro__header-fixed{right:inherit;left:0}.alain-pro__top-nav{position:relative;width:100%;height:56px;padding:0 12px 0 0;box-shadow:0 1px 4px rgba(0,21,41,.08);transition:background .3s,width .2s}.alain-pro__top-nav .alain-pro__menu .ant-menu{display:flex;align-items:center;height:56px;border:none}.alain-pro__top-nav .alain-pro__menu-wrap{flex:1;padding-right:8px}.alain-pro__top-nav .alain-pro__menu-item{height:100%}.alain-pro__top-nav .alain-pro__menu-item .ant-menu-submenu-title{height:100%;padding:0 12px}.alain-pro__top-nav-main{display:flex;height:56px;padding-left:24px}.alain-pro__top-nav-main-wide{max-width:1200px;margin:auto;padding-left:4px}.alain-pro__top-nav-main-left{display:flex;flex:1}.alain-pro__top-nav-logo{width:165px}.alain-pro__top-nav-logo h1{margin:0 0 0 12px;color:#fff;font-size:16px}.alain-pro__top-nav .alain-pro__menu-title-badge{position:absolute;top:-16px;right:-16px}.alain-pro__sider,.alain-pro__sider-logo{position:relative;display:block;overflow:hidden}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item-icon{color:rgba(255,255,255,.65)}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover{background:#1890ff}.alain-pro__light .alain-pro__sider,.alain-pro__light .alain-pro__top-nav,.quick-chat,.quick-chat__bar--title:hover{background-color:#fff}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item-icon,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item-icon{color:#fff}.alain-pro__light .alain-pro__top-nav h1{color:#002140}[dir=rtl] .alain-pro__top-nav-logo h1{margin-right:12px;margin-left:0}.alain-pro__sider{z-index:10;min-height:100vh;box-shadow:2px 0 6px rgba(0,21,41,.35)}.alain-pro__sider-logo{height:56px;padding-left:24px;line-height:56px;background:#002140;transition:all .3s}.alain-pro__sider-logo img{display:inline-block;height:32px;vertical-align:middle}.alain-pro__sider-logo h1{display:inline-block;margin:0 0 0 12px;color:#fff;font-weight:600;font-size:20px;font-family:'Myriad Pro','Helvetica Neue',Arial,Helvetica,sans-serif;vertical-align:middle;transition:all .3s}.alain-pro__sider-fixed{position:fixed;top:0;left:0}.alain-pro__sider-fixed .alain-pro__side-nav-wrap{height:calc(100vh - 56px);padding-bottom:24px;overflow-y:scroll}.alain-pro__drawer .ant-drawer-wrapper-body{height:100%;overflow:auto}.alain-pro__drawer .ant-drawer-body{height:100vh;padding:0;overflow-x:hidden}.aside-collapsed .alain-pro__sider-logo{display:flex;justify-content:center;padding:0}.aside-collapsed .alain-pro__sider-logo h1{display:none}.alain-pro__light .alain-pro__sider{box-shadow:2px 0 8px 0 rgba(29,35,41,.05)}.alain-pro__light .alain-pro__sider-logo{background:#fff;box-shadow:1px 1px 0 0 #f0f0f0}.alain-pro__light .alain-pro__sider-logo h1{color:#1890ff}[dir=rtl] .alain-pro__sider-logo{padding-right:24px;padding-left:0}[dir=rtl] .alain-pro__sider-logo h1{margin-right:12px;margin-left:0}[dir=rtl] .alain-pro__sider-fixed{right:0;left:inherit}.alain-pro__footer,[dir=rtl] .aside-collapsed .alain-pro__sider-logo{padding:0}.ant-card{transition:none}.alain-pro__header-item .ant-badge-count{position:absolute;top:24px;right:12px}.full-content__hidden-title page-header,.full-content__opened .alain-pro__sider,.full-content__opened layout-pro-header,.full-content__opened reuse-tab{display:none!important}.footer-toolbar{z-index:99;width:auto}.footer-toolbar__body .alain-pro__body{margin-bottom:56px!important}.alain-pro__menu-side .footer-toolbar{left:256px}.alain-pro__menu-top .footer-toolbar{left:0}.aside-collapsed .footer-toolbar{left:80px}.page-header{padding-right:24px;padding-left:24px}.btn-flat{background:0 0!important;border-color:transparent!important;box-shadow:none!important}.ant-dropdown-menu-item{outline:0}@page{size:a3}.brand-page-loading{position:absolute;top:0;right:0;left:0;min-height:200px}.brand-top-right{position:absolute;top:8px;right:8px}.brand-top-left{position:absolute;top:8px;left:8px}.brand-range-picker__date{display:inline-block;width:240px}.alain-pro__header-search,.setting-drawer__blockChecbox{display:flex}.setting-drawer__handle-opened{right:300px!important}.setting-drawer__blockChecbox-item{position:relative;margin-right:16px;border-radius:2px;cursor:pointer}.setting-drawer__blockChecbox-item img{width:48px}.setting-drawer__blockChecbox-selectIcon{position:absolute;top:0;right:0;width:100%;height:100%;padding-top:15px;padding-left:24px;color:#1890ff;font-weight:700;font-size:14px}.setting-drawer__handle{top:114px;width:32px;height:32px;background:rgba(0,0,0,.38)}.setting-drawer__handle-icon{font-size:16px}.setting-drawer-rtl .setting-drawer__handle-opened{right:inherit!important;left:300px!important}.alain-pro__header-search .anticon-search{font-size:16px;cursor:pointer}.alain-pro__header-search-input{width:0;overflow:hidden;background:0 0;border-radius:0;transition:width .3s,margin-left .3s}.alain-pro__header-search-input .ant-select-selection{background:0 0}.alain-pro__header-search-input input{padding-right:0;padding-left:0;background:0 0;border:0;outline:0;box-shadow:none}.alain-pro__header-search-input,.alain-pro__header-search-input:focus,.alain-pro__header-search-input:hover,.message__tools{border-bottom:1px solid #d9d9d9}.alain-pro__header-search-show:hover{background:0 0!important}.alain-pro__header-search-show .alain-pro__header-search-input{width:210px;margin-left:8px}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-search-show .ant-input{color:#fff}.brand-bordered{overflow:hidden;border:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after,.brand-bordered>[class*=ant-col-]::before{position:absolute;display:block;content:''}.brand-bordered>[class*=ant-col-]::before{right:0;bottom:-1px;left:0;height:0;border-top:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after{top:0;bottom:0;left:-1px;width:0;border-left:1px solid rgba(24,28,33,.06)}.brand-border-width-2{border-width:2px!important}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding-right:40px;padding-left:12px}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header .arrow{right:16px;left:unset}.dd-btn{display:block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;cursor:pointer}.quick-chat,.quill-editor{line-height:initial}.dd-btn:hover{background:#f5f5f5;border:1px solid #f0f0f0}.attachment-img,.img-thm{background-color:transparent}.attachment{display:flex;align-items:center;margin-bottom:8px;padding:4px;border:1px solid #e8e8e8}.attachment-icon{padding:2px;font-size:40px}.attachment-img{width:64px;height:64px;background-position:center center;background-size:cover}.img-thm,.img-thm__img{height:auto;max-width:100%}.feed__icon{position:relative}.feed__icon-tag{position:absolute;top:-6px;right:-2px}.img-thm{position:relative;display:block}.img-thm__mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block;background-color:rgba(0,0,0,.3)}.img-thm__icon{position:absolute;top:50%;left:50%;z-index:3;display:block;color:#fff;font-size:32px;opacity:0}.img-thm__img{z-index:1}.img-thm__zoom-in{overflow:hidden}.img-thm__zoom-in .img-thm__icon{transform:translate(-50%,-50%) scale(.6)}.img-thm__zoom-in .img-thm__img{transition:all .3s ease-in-out}.img-thm__zoom-in:hover .img-thm__icon{transform:translate(-50%,-50%) scale(1)}.img-thm__zoom-in:hover .img-thm__img{transform:scale(1.1)}.img-thm:not(:hover):not(:focus) .img-thm__mask{opacity:0}.quill-editor.ng-dirty.ng-invalid .ql-container,.quill-editor.ng-dirty.ng-invalid .ql-toolbar{border-color:#ff4d4f}.ql-snow .ql-size .ql-picker-item[data-value="10px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="10px"]::before{content:'10px'}.ql-snow .ql-size .ql-picker-item[data-value="12px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="12px"]::before{content:'12px'}.ql-snow .ql-size .ql-picker-item[data-value="14px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="14px"]::before{content:'14px'}.ql-snow .ql-size .ql-picker-item[data-value="16px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="16px"]::before{content:'16px'}.ql-snow .ql-size .ql-picker-item[data-value="18px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="18px"]::before{content:'18px'}.ql-snow .ql-size .ql-picker-item[data-value="20px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="20px"]::before{content:'20px'}.ql-snow .ql-size .ql-picker-item[data-value="24px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="24px"]::before{content:'24px'}app-file-manager file-manager{display:block;padding:24px;background:#fff}.file-manager{display:flex;margin-top:16px}.file-manager__header{display:flex;align-items:center;margin-top:16px;padding:0 32px 4px 12px;font-weight:700;border-bottom:2px solid rgba(0,0,0,.05)}.file-manager__header-name{flex:1}.file-manager__header-pixel{width:150px}.file-manager__header-time{width:130px}.file-manager__small .file-item{display:flex;align-items:center;width:100%;margin:0 0 2px;padding:4px 32px 4px 0;text-align:left}.file-manager__small .file-item__icon,.file-manager__small .file-item__img{display:block;width:32px;height:32px;margin:0 8px;font-size:20px;line-height:32px;text-align:center}.file-manager__small .file-item__name{flex:1}.file-manager__small .file-item__pixel{position:inherit;width:150px}.file-manager__small .file-item__pixel>span{background:0 0}.file-manager__small .file-item__time{display:block;width:130px}.file-item{position:relative;z-index:1;flex:0 0 auto;flex-shrink:0;width:9rem;margin:0 8px 8px 0;padding:16px 0 24px;text-align:center;border:1px solid transparent;cursor:pointer}.file-item:hover{border-color:rgba(0,0,0,.05)}.file-item:hover .file-item__actions{display:block}.file-item__selected{background-color:#e6f7ff!important;border-color:#1890ff!important}.course__img,.file-item__img{background-color:transparent}.file-item__selected .file-item__actions{display:block}.file-item__icon{display:block;margin:16px 0;font-size:40px}.file-item__img{display:block;width:4rem;height:4rem;margin:0 auto .75rem;font-size:2.5rem;line-height:4rem;background-position:center center;background-size:cover}.file-item__name{height:28px;padding:0 8px;overflow:hidden;color:#4e5155;line-height:28px;white-space:nowrap;text-overflow:ellipsis}.file-item__pixel{position:absolute;bottom:0;left:0;width:100%}.file-item__pixel>span{display:block;width:100%;padding:2px 0;background:rgba(0,0,0,.01)}.file-item__time{display:none}.file-item__actions{position:absolute;top:8px;right:8px;display:none}.ware__color{display:inline-block;width:12px;height:12px}.ware__imgs .se__label{padding-right:8px}.ware__imgs-wrap{display:flex;align-items:center}.ware__imgs-color{display:flex;margin:0;padding:0;list-style:none}.ware__imgs-item{position:relative;width:72px;height:72px;margin-right:16px;border:1px solid #ccc}.ware__imgs-item-img{width:70px;height:70px}.ware__imgs-item-img img{max-width:100%;max-height:100%}.ware__imgs-item-del{position:absolute;top:2px;right:4px;color:#fff;line-height:normal}.ware__imgs-item::before{position:absolute;top:24px;display:block;width:100%;color:#ccc;line-height:normal;text-align:center;content:'细节图'}.ware__imgs-item:first-child::before{content:'主图*'}.ware__imgs-item-exists::before{content:''}.faq-v1__item{display:flex;align-items:center;padding:8px}.faq-v1__item-icon{font-size:24px}.faq-v1__item-title{margin-bottom:0;font-weight:400;font-size:14px}.faq-v1__item-remark{margin-bottom:0;color:#bfbfbf}.faq-v1__item-hover{background-color:rgba(0,0,0,.02);cursor:pointer}.faq-v1__item-hover:hover{background-color:rgba(0,0,0,.04)}.faq-v1__item-hover:hover .faq__item-icon,.faq-v1__item-hover:hover .faq__item-title{color:#1890ff}.task__container{border-bottom:1px solid #f0f0f0}.task__container:last-child{border-bottom:none}.task__title{margin-bottom:16px;color:#a3a4a6;font-weight:400;font-size:12px}.task__item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(24,28,33,.06)}.task__item:first-child{border-top:none}.task__item-handle{margin-right:16px;color:#bfbfbf;font-size:12px;cursor:pointer}.task__item-done{color:#a3a4a6}.message__container{position:relative}.message__sidebox{position:absolute;top:0;left:0;width:250px;height:100%;background:#f5f5f5}.message__tools{display:flex;flex-wrap:wrap;align-items:center;padding:4px 24px;border-top:1px solid #d9d9d9}.message__tools-choose{display:flex;flex:1;flex-wrap:wrap;align-items:center}.message__content{min-height:600px}.message__item{display:flex;align-items:center;padding:4px 24px}.message__item:first-child{border-top:none}.message__item-from{display:flex;align-items:center;width:160px}.message__item-subject{width:100%;color:#595959}.message__item-subject:hover{color:#1890ff}.message__item-date{color:#bfbfbf;white-space:nowrap}.message__item-unread .message__item-subject{font-weight:700}@media (min-width:768px){.message__container{padding-left:250px}}@media (max-width:767px){.message__tools-choose{flex-basis:100%}.message__item{flex-wrap:wrap}}.course__img{display:block;padding-top:60%;background-position:center center;background-size:cover;border-top-left-radius:2px;border-top-right-radius:2px}.course__star .ant-rate{font-size:10px}.chat__container{display:flex;overflow:hidden;background:#fff;border:1px solid #f0f0f0}.chat__scroll-container{position:relative;width:100%}.chat__sidebox{display:flex;flex-direction:column;width:250px;box-shadow:6px 0 16px -8px rgba(0,0,0,.08),9px 0 28px 0 rgba(0,0,0,.05),12px 0 48px 16px rgba(0,0,0,.03);transition:.2s all}.chat__contact{display:flex;align-items:center;padding:8px 16px;color:#4e5155;cursor:pointer}.chat__contact:hover:not(.chat__contact-active){background-color:rgba(24,28,33,.03)}.chat__contact .ant-badge-status-text{color:#52c41a;font-size:12px}.chat__contact-offline{opacity:.7}.chat__contact-offline .ant-badge-status-text{color:#f5222d}.chat__contact-active{background-color:#e84c64}.chat__contact-active,.chat__contact-active .ant-badge-status-text{color:#fff}.chat__user-avatar{height:40px;border-radius:50%}.chat__message{display:flex;flex-shrink:0;margin-bottom:8px}.chat__message-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:24px}.chat__message-left{margin-right:58px}.chat__message-left .chat__message-avatar{margin-right:8px}.chat__message-right{flex-direction:row-reverse;margin-left:58px}.chat__message-right .chat__message-avatar{margin-left:8px}.chat__message-send{text-align:center}.chat__message-avatar{width:50px;text-align:center}.chat__message-text{width:100%;color:#bfbfbf;font-size:12px;text-align:center}.chat__message-time{padding-top:2px;color:#bfbfbf;font-size:12px;white-space:nowrap}.chat__message-msg{padding:4px 8px;background:#f5f5f5;border-radius:4px}.fc-antd .fc-event,.fc-antd .fc-scrollgrid,.fc-antd td,.fc-antd th{border:1px solid #f0f0f0}.chat__message-msg--name{display:block;margin-bottom:2px}[dir=rtl] .chat__message-left{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-left .chat__message-avatar{margin-right:inherit;margin-left:8px}[dir=rtl] .chat__message-right{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-right .chat__message-avatar{margin-right:inherit;margin-left:8px}.fc-antd a{color:inherit}.fc-antd a,.fc-antd a:hover{text-decoration:none}.fc-antd .fc-col-header-cell{padding:8px;color:rgba(0,0,0,.85)}.fc-antd .fc-day:not(.fc-axis){padding:4px}.fc-antd .fc-day.fc-day-today{background:rgba(232,232,232,.2)}.fc-antd .fc-event{background:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.055)}.fc-antd .fc-event-title-container{padding:4px 4px 4px 20px}.fc-antd .fc-event-title-container::before{position:absolute;top:50%;left:4px;display:block;width:10px;height:10px;margin-top:-5px;background:rgba(0,0,0,.2);border-radius:50%;content:' '}.fc-antd .fc-event-title{display:block;overflow:hidden;color:rgba(0,0,0,.85);white-space:nowrap;text-overflow:ellipsis}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main{padding-left:4px}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main::before{display:none}.fc-antd .fc-event-fill-primary,.fc-antd .fc-event-primary .fc-event-title-container::before{background-color:#1890ff}.fc-antd .fc-event-fill-success,.fc-antd .fc-event-success .fc-event-title-container::before{background-color:#52c41a}.fc-antd .fc-event-danger .fc-event-title-container::before,.fc-antd .fc-event-fill-danger{background-color:#f5222d}.fc-antd .fc-event-fill-warning,.fc-antd .fc-event-warning .fc-event-title-container::before{background-color:#fadb14}.fc-antd .fc-event-fill-purple,.fc-antd .fc-event-purple .fc-event-title-container::before{background-color:#722ed1}.fc-antd .fc-event-fill-magenta,.fc-antd .fc-event-magenta .fc-event-title-container::before{background-color:#eb2f96}.fc-antd .fc-popover-header{padding:8px 16px;background:#eee}.fc-antd .fc-popover-body{background:#fff}.pro-passport{display:flex;flex-basis:100%;align-items:stretch;justify-content:stretch;min-height:100vh;overflow:hidden}.pro-passport__langs{position:fixed;top:16px;left:16px;z-index:9999}.pro-passport__langs .alain-pro__header-item{height:auto;padding:0}.pro-passport__bg{padding:0 24px;background-color:transparent;background-position:center center;background-size:cover}.pro-passport__bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:.4}.pro-passport__form{padding:32px}.pro-passport__form-logo{height:32px;text-align:center}.pro-passport__form-logo img{max-height:100%}.pro-passport__form-title{margin:16px 0;color:#bfbfbf;text-align:center}@media (max-width:991px){.pro-passport__form{width:100%}}.quick-chat{position:fixed;top:auto;right:0;bottom:0;left:auto;z-index:98;display:flex;flex:1;flex-direction:column;width:320px;margin-right:30px;border:1px solid #f0f0f0;border-bottom:none;border-radius:4px 4px 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14)}.quick-chat__bar{display:flex;flex-direction:row;align-items:center;height:32px;border-bottom:1px solid #f0f0f0;cursor:pointer;user-select:none}.quick-chat__bar--title{flex:1;height:32px;padding-left:16px;font-size:14px;line-height:32px}.quick-chat__bar--title-has-message{animation:antSwingIn 1.5s infinite}.quick-chat__bar--menu{display:flex;align-items:center;height:32px}.quick-chat__bar--menu .anticon{font-size:18px}.quick-chat__bar--close{padding:0 16px 0 8px}.quick-chat__body{max-height:370px;transition:max-height .5s cubic-bezier(0,1,0,1)}.quick-chat__content{position:relative;display:flex;flex-direction:column;height:320px}.app-dd__op,.quick-chat .chat__message{align-items:center}.quick-chat__content .chat__scroll-container{display:block}.quick-chat__reply{height:50px;padding:8px}.quick-chat__reply--ipt{display:block;width:100%;height:100%;background:0 0;border:none;outline:0}.quick-chat .chat__message-avatar{width:28px}.quick-chat .chat__user-avatar{height:20px}.quick-chat__collapsed .quick-chat__body{max-height:0}.quick-chat__collapsed .quick-chat__body .chat__scroll-container{display:none}[dir=rtl] .quick-chat{right:inherit;left:0;margin-right:inherit;margin-left:30px}[dir=rtl] .quick-chat__bar--title{padding-right:16px;padding-left:0}.app-dd{position:relative;display:block}.app-dd__op{position:absolute;top:-24px;right:24px;z-index:99;display:flex;justify-content:center}.app-dd__op-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:8px;color:#fff;background:rgba(0,0,0,.4);border-radius:0 0 4px 4px;cursor:pointer;pointer-events:auto}.app-dd__op-btn:hover{background:rgba(0,0,0,.3)}.app-dd__ph{opacity:.3}.app-dd__item{position:relative;display:block}.app-dd__item-btn{position:absolute;top:8px;right:8px;display:none;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(0,0,0,.02);cursor:pointer}.app-dd__item:hover .app-dd__item-refresh{display:flex}.app-dd__item-design{opacity:.8;user-select:none}.app-dd__item-design .app-dd__item-handle{display:flex!important;background:rgba(0,0,0,.1)}.app-dd__item-design .app-dd__item-refresh{display:none!important}.app-dd__item.cdk-drag-preview{border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.app-dd__item.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)} \ No newline at end of file diff --git a/src/assets/style.dark.css b/src/assets/style.dark.css new file mode 100644 index 00000000..1f6b0101 --- /dev/null +++ b/src/assets/style.dark.css @@ -0,0 +1 @@ +.ant-alert,body{font-variant:tabular-nums;font-size:14px}body,h1,h2,h3,h4,h5,h6{color:rgba(255,255,255,.85)}.ant-alert-close-icon,.ant-back-top,.ant-btn,.anticon[tabindex],a{cursor:pointer}dl,h1,h2,h3,h4,h5,h6,ol,p,pre,ul{margin-top:0}address,dl,ol,p,pre,ul{margin-bottom:1em}.ant-avatar,img{vertical-align:middle}.ant-btn,[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}.ant-picker-content,table{border-collapse:collapse}button,hr,input{overflow:visible}pre,textarea{overflow:auto}dd,h1,h2,h3,h4,h5,h6,legend{margin-bottom:.5em}.ant-badge-status,progress,sub,sup{vertical-align:baseline}[ant-click-animating-without-extra-node=true],[ant-click-animating=true],sub,sup{position:relative}.ant-carousel .slick-slider,.cdk-overlay-backdrop,html{-webkit-tap-highlight-color:transparent}.ant-alert.ant-alert-rtl,.ant-anchor-rtl,.ant-back-top-rtl,.ant-badge-rtl{direction:rtl}[class*=ant-] input::-ms-clear,[class*=ant-] input::-ms-reveal,[class*=ant-]::-ms-clear,[class^=ant-] input::-ms-clear,[class^=ant-] input::-ms-reveal,[class^=ant-]::-ms-clear{display:none}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;--antd-wave-shadow-color:#177ddc;--scroll-bar:0}.ant-pagination-item,body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}@-ms-viewport{width:device-width}body{margin:0;line-height:1.5715;background-color:#000;font-feature-settings:tnum}[tabindex='-1']:focus{outline:0!important}hr{box-sizing:content-box;height:0}h1,h2,h3,h4,h5,h6{font-weight:500}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{font-style:normal;line-height:inherit}.font-italic,dfn{font-style:italic}input[type=number],input[type=text],input[type=password],textarea{-webkit-appearance:none}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-left:0}blockquote,figure{margin:0 0 1em}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#177ddc;text-decoration:none;background-color:transparent;outline:0;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#165996}a:active{color:#388ed3}a:active,a:focus,a:hover{text-decoration:none;outline:0}a[disabled]{color:rgba(255,255,255,.3);cursor:not-allowed}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,Courier,monospace}img{border-style:none}svg:not(:root){overflow:hidden}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(255,255,255,.45);text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;margin:0;padding:0}legend{display:block;width:100%;max-width:100%;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner,.ant-select-arrow,.ant-select-multiple .ant-select-selection-item-remove,.anticon{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.clearfix::after,.clearfix::before{display:table;content:''}mark{padding:.2em;background-color:#2b2611}::selection{color:#fff;background:#177ddc}.clearfix::after{clear:both}.anticon,.anticon svg{display:inline-block}.anticon{color:inherit;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em}.anticon>*{line-height:1}.anticon::before{display:none}.anticon .anticon-icon{display:block}.anticon-spin,.anticon-spin::before{display:inline-block;animation:loadingCircle 1s infinite linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-timing-function:linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-fade-appear.ant-fade-appear-active,.ant-fade-enter.ant-fade-enter-active{animation-name:antFadeIn;animation-play-state:running}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none}.ant-fade-appear,.ant-fade-enter{opacity:0}@keyframes antFadeIn{0%{opacity:0}100%{opacity:1}}@keyframes antFadeOut{0%{opacity:1}100%{opacity:0}}.ant-move-up-appear,.ant-move-up-enter,.ant-move-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-up-appear.ant-move-up-appear-active,.ant-move-up-enter.ant-move-up-enter-active{animation-name:antMoveUpIn;animation-play-state:running}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none}.ant-move-up-appear,.ant-move-up-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-up-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-down-appear,.ant-move-down-enter,.ant-move-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-down-appear.ant-move-down-appear-active,.ant-move-down-enter.ant-move-down-enter-active{animation-name:antMoveDownIn;animation-play-state:running}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none}.ant-move-down-appear,.ant-move-down-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-down-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-left-appear,.ant-move-left-enter,.ant-move-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-left-appear.ant-move-left-appear-active,.ant-move-left-enter.ant-move-left-enter-active{animation-name:antMoveLeftIn;animation-play-state:running}.ant-move-left-leave.ant-move-left-leave-active{animation-name:antMoveLeftOut;animation-play-state:running;pointer-events:none}.ant-move-left-appear,.ant-move-left-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-left-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-right-appear,.ant-move-right-enter,.ant-move-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-right-appear.ant-move-right-appear-active,.ant-move-right-enter.ant-move-right-enter-active{animation-name:antMoveRightIn;animation-play-state:running}.ant-move-right-leave.ant-move-right-leave-active{animation-name:antMoveRightOut;animation-play-state:running;pointer-events:none}.ant-move-right-appear,.ant-move-right-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-right-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@keyframes antMoveDownIn{0%{transform:translateY(100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveDownOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveLeftIn{0%{transform:translateX(-100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveLeftOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(-100%);transform-origin:0 0;opacity:0}}@keyframes antMoveRightIn{0%{transform:translateX(100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveRightOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveUpIn{0%{transform:translateY(-100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveUpOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(-100%);transform-origin:0 0;opacity:0}}@keyframes loadingCircle{100%{transform:rotate(360deg)}}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]::after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;box-shadow:0 0 0 0 #177ddc;box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation-fill-mode:forwards;content:'';pointer-events:none}@keyframes waveEffect{100%{box-shadow:0 0 0 #177ddc;box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes fadeEffect{100%{opacity:0}}.ant-slide-up-appear,.ant-slide-up-enter,.ant-slide-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-up-appear.ant-slide-up-appear-active,.ant-slide-up-enter.ant-slide-up-enter-active{animation-name:antSlideUpIn;animation-play-state:running}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none}.ant-slide-up-appear,.ant-slide-up-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-up-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-down-appear,.ant-slide-down-enter,.ant-slide-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-down-appear.ant-slide-down-appear-active,.ant-slide-down-enter.ant-slide-down-enter-active{animation-name:antSlideDownIn;animation-play-state:running}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none}.ant-slide-down-appear,.ant-slide-down-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-left-appear,.ant-slide-left-enter,.ant-slide-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-left-appear.ant-slide-left-appear-active,.ant-slide-left-enter.ant-slide-left-enter-active{animation-name:antSlideLeftIn;animation-play-state:running}.ant-slide-left-leave.ant-slide-left-leave-active{animation-name:antSlideLeftOut;animation-play-state:running;pointer-events:none}.ant-slide-left-appear,.ant-slide-left-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-left-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-right-appear,.ant-slide-right-enter,.ant-slide-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-right-appear.ant-slide-right-appear-active,.ant-slide-right-enter.ant-slide-right-enter-active{animation-name:antSlideRightIn;animation-play-state:running}.ant-slide-right-leave.ant-slide-right-leave-active{animation-name:antSlideRightOut;animation-play-state:running;pointer-events:none}.ant-slide-right-appear,.ant-slide-right-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-right-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes antSlideUpIn{0%{transform:scaleY(.8);transform-origin:0 0;opacity:0}100%{transform:scaleY(1);transform-origin:0 0;opacity:1}}@keyframes antSlideUpOut{0%{transform:scaleY(1);transform-origin:0 0;opacity:1}100%{transform:scaleY(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideDownIn{0%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}100%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}100%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}}@keyframes antSlideLeftIn{0%{transform:scaleX(.8);transform-origin:0 0;opacity:0}100%{transform:scaleX(1);transform-origin:0 0;opacity:1}}@keyframes antSlideLeftOut{0%{transform:scaleX(1);transform-origin:0 0;opacity:1}100%{transform:scaleX(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideRightIn{0%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}100%{transform:scaleX(1);transform-origin:100% 0;opacity:1}}@keyframes antSlideRightOut{0%{transform:scaleX(1);transform-origin:100% 0;opacity:1}100%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}}.ant-zoom-appear,.ant-zoom-enter,.ant-zoom-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-appear.ant-zoom-appear-active,.ant-zoom-enter.ant-zoom-enter-active{animation-name:antZoomIn;animation-play-state:running}.ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none}.ant-zoom-appear,.ant-zoom-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-appear-prepare,.ant-zoom-enter-prepare{transform:none}.ant-zoom-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-appear,.ant-zoom-big-enter,.ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-appear.ant-zoom-big-appear-active,.ant-zoom-big-enter.ant-zoom-big-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-appear,.ant-zoom-big-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-appear-prepare,.ant-zoom-big-enter-prepare{transform:none}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter,.ant-zoom-big-fast-leave{animation-duration:.1s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active,.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-fast-appear-prepare,.ant-zoom-big-fast-enter-prepare{transform:none}.ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-up-appear,.ant-zoom-up-enter,.ant-zoom-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-up-appear.ant-zoom-up-appear-active,.ant-zoom-up-enter.ant-zoom-up-enter-active{animation-name:antZoomUpIn;animation-play-state:running}.ant-zoom-up-leave.ant-zoom-up-leave-active{animation-name:antZoomUpOut;animation-play-state:running;pointer-events:none}.ant-zoom-up-appear,.ant-zoom-up-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-up-appear-prepare,.ant-zoom-up-enter-prepare{transform:none}.ant-zoom-up-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-down-appear,.ant-zoom-down-enter,.ant-zoom-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-down-appear.ant-zoom-down-appear-active,.ant-zoom-down-enter.ant-zoom-down-enter-active{animation-name:antZoomDownIn;animation-play-state:running}.ant-zoom-down-leave.ant-zoom-down-leave-active{animation-name:antZoomDownOut;animation-play-state:running;pointer-events:none}.ant-zoom-down-appear,.ant-zoom-down-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-down-appear-prepare,.ant-zoom-down-enter-prepare{transform:none}.ant-zoom-down-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-left-appear,.ant-zoom-left-enter,.ant-zoom-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-left-appear.ant-zoom-left-appear-active,.ant-zoom-left-enter.ant-zoom-left-enter-active{animation-name:antZoomLeftIn;animation-play-state:running}.ant-zoom-left-leave.ant-zoom-left-leave-active{animation-name:antZoomLeftOut;animation-play-state:running;pointer-events:none}.ant-zoom-left-appear,.ant-zoom-left-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-left-appear-prepare,.ant-zoom-left-enter-prepare{transform:none}.ant-zoom-left-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-right-appear,.ant-zoom-right-enter,.ant-zoom-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-right-appear.ant-zoom-right-appear-active,.ant-zoom-right-enter.ant-zoom-right-enter-active{animation-name:antZoomRightIn;animation-play-state:running}.ant-zoom-right-leave.ant-zoom-right-leave-active{animation-name:antZoomRightOut;animation-play-state:running;pointer-events:none}.ant-zoom-right-appear,.ant-zoom-right-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-right-appear-prepare,.ant-zoom-right-enter-prepare{transform:none}.ant-zoom-right-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@keyframes antZoomIn{0%{transform:scale(.2);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomOut{0%{transform:scale(1)}100%{transform:scale(.2);opacity:0}}@keyframes antZoomBigIn{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomBigOut{0%{transform:scale(1)}100%{transform:scale(.8);opacity:0}}@keyframes antZoomUpIn{0%{transform:scale(.8);transform-origin:50% 0;opacity:0}100%{transform:scale(1);transform-origin:50% 0}}@keyframes antZoomUpOut{0%{transform:scale(1);transform-origin:50% 0}100%{transform:scale(.8);transform-origin:50% 0;opacity:0}}@keyframes antZoomLeftIn{0%{transform:scale(.8);transform-origin:0 50%;opacity:0}100%{transform:scale(1);transform-origin:0 50%}}@keyframes antZoomLeftOut{0%{transform:scale(1);transform-origin:0 50%}100%{transform:scale(.8);transform-origin:0 50%;opacity:0}}@keyframes antZoomRightIn{0%{transform:scale(.8);transform-origin:100% 50%;opacity:0}100%{transform:scale(1);transform-origin:100% 50%}}@keyframes antZoomRightOut{0%{transform:scale(1);transform-origin:100% 50%}100%{transform:scale(.8);transform-origin:100% 50%;opacity:0}}@keyframes antZoomDownIn{0%{transform:scale(.8);transform-origin:50% 100%;opacity:0}100%{transform:scale(1);transform-origin:50% 100%}}@keyframes antZoomDownOut{0%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(.8);transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse-legacy-active{transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden;transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%;position:fixed;z-index:1000}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-backdrop{top:0;bottom:0;left:0;right:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0;position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-backdrop.ant-modal-mask{opacity:1}.cdk-overlay-pane{position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-global-scrollblock body{overflow-x:visible}.nz-overlay-transparent-backdrop,.nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.nz-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask,.nz-animate-disabled.ant-scroll-number-only{animation:none;transition:none}.nz-animate-disabled.ant-drawer>*{transition:none}.nz-animate-disabled .ant-modal,.nz-animate-disabled .ant-modal-mask,.nz-animate-disabled .ant-modal-mask.zoom-enter,.nz-animate-disabled .ant-modal-mask.zoom-enter-active,.nz-animate-disabled .ant-modal-mask.zoom-leave,.nz-animate-disabled .ant-modal-mask.zoom-leave-active,.nz-animate-disabled .ant-modal.zoom-enter,.nz-animate-disabled .ant-modal.zoom-enter-active,.nz-animate-disabled .ant-modal.zoom-leave,.nz-animate-disabled .ant-modal.zoom-leave-active{animation:none;transition:none}.nz-animate-disabled.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.nz-animate-disabled.ant-menu,.nz-animate-disabled.ant-menu .ant-menu-item,.nz-animate-disabled.ant-menu .ant-menu-item .anticon,.nz-animate-disabled.ant-menu .ant-menu-item .anticon+span,.nz-animate-disabled.ant-menu .ant-menu-submenu-title,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon+span,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-top-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated{transition:none}.ant-affix{position:fixed;z-index:10}.ant-alert,.ant-anchor{line-height:1.5715;position:relative;list-style:none}nz-affix{display:block}.ant-alert{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);font-feature-settings:tnum;display:flex;align-items:center;padding:8px 15px;word-wrap:break-word;border-radius:2px}.ant-alert-content{flex:1;min-width:0}.ant-alert-icon{margin-right:8px}.ant-alert-description{display:none;font-size:14px;line-height:22px}.ant-alert-success{background-color:#162312;border:1px solid #274916}.ant-alert-success .ant-alert-icon{color:#49aa19}.ant-alert-info{background-color:#111b26;border:1px solid #153450}.ant-alert-info .ant-alert-icon{color:#177ddc}.ant-alert-warning{background-color:#2b2111;border:1px solid #594214}.ant-alert-warning .ant-alert-icon{color:#d89614}.ant-alert-error{background-color:#2a1215;border:1px solid #58181c}.ant-alert-error .ant-alert-icon{color:#a61d24}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0}.ant-alert-action{margin-left:8px}.ant-alert-close-icon{margin-left:8px;padding:0;overflow:hidden;font-size:12px;line-height:12px;background-color:transparent;border:none;outline:0}.ant-alert-close-icon .anticon-close{color:rgba(255,255,255,.45);transition:color .3s}.ant-alert-close-icon .anticon-close:hover{color:rgba(255,255,255,.75)}.ant-alert-close-text{color:rgba(255,255,255,.45);transition:color .3s}.ant-alert-close-text:hover{color:rgba(255,255,255,.75)}.ant-alert-message,.ant-alert-with-description .ant-alert-message,.ant-anchor,.ant-anchor-link-title,.ant-back-top{color:rgba(255,255,255,.85)}.ant-alert-with-description{align-items:flex-start;padding:15px 15px 15px 24px}.ant-alert-with-description.ant-alert-no-icon{padding:15px}.ant-alert-with-description .ant-alert-icon{margin-right:15px;font-size:24px}.ant-alert-with-description .ant-alert-message{display:block;margin-bottom:4px;font-size:16px}.ant-anchor,.ant-avatar{font-size:14px;font-variant:tabular-nums;font-feature-settings:tnum;box-sizing:border-box}.ant-alert-with-description .ant-alert-description{display:block}.ant-alert.ant-alert-motion-leave{overflow:hidden;opacity:1;transition:max-height .3s cubic-bezier(.78,.14,.15,.86),opacity .3s cubic-bezier(.78,.14,.15,.86),padding-top .3s cubic-bezier(.78,.14,.15,.86),padding-bottom .3s cubic-bezier(.78,.14,.15,.86),margin-bottom .3s cubic-bezier(.78,.14,.15,.86)}.ant-alert.ant-alert-motion-leave-active{max-height:0;margin-bottom:0!important;padding-top:0;padding-bottom:0;opacity:0}.ant-alert-banner{margin-bottom:0;border:0;border-radius:0}.ant-alert-rtl.ant-alert.ant-alert-no-icon{padding:8px 15px}.ant-alert-rtl .ant-alert-icon{margin-right:auto;margin-left:8px}.ant-alert-rtl .ant-alert-action,.ant-alert-rtl .ant-alert-close-icon{margin-right:8px;margin-left:auto}.ant-alert-rtl.ant-alert-with-description .ant-alert-icon{margin-right:auto;margin-left:15px}nz-alert{display:block}.ant-anchor{margin:0;padding:0 0 0 2px}.ant-anchor-wrapper{margin-left:-4px;padding-left:4px;overflow:auto;background-color:transparent}.ant-anchor-ink{position:absolute;top:0;left:0;height:100%}.ant-anchor-ink::before{position:relative;display:block;width:2px;height:100%;margin:0 auto;background-color:#303030;content:' '}.ant-anchor-ink-ball{position:absolute;left:50%;display:none;width:8px;height:8px;background-color:#141414;border:2px solid #177ddc;border-radius:8px;transform:translateX(-50%);transition:top .3s ease-in-out}.ant-anchor-link-title,.ant-avatar{position:relative;overflow:hidden;white-space:nowrap}.ant-anchor-ink-ball.visible{display:inline-block}.ant-anchor.fixed .ant-anchor-ink .ant-anchor-ink-ball{display:none}.ant-anchor-link{padding:7px 0 7px 16px;line-height:1.143}.ant-anchor-link-title{display:block;margin-bottom:6px;text-overflow:ellipsis;transition:all .3s}.ant-anchor-link-title:only-child{margin-bottom:0}.ant-anchor-link-active>.ant-anchor-link-title{color:#177ddc}.ant-anchor-link .ant-anchor-link{padding-top:5px;padding-bottom:5px}.ant-anchor-rtl.ant-anchor-wrapper{margin-right:-4px;margin-left:0;padding-right:4px;padding-left:0}.ant-avatar,.ant-avatar-lg.ant-avatar-icon>.anticon,.ant-avatar-sm.ant-avatar-icon>.anticon,.ant-avatar.ant-avatar-icon>.anticon{margin:0}.ant-anchor-rtl .ant-anchor-ink{right:0;left:auto}.ant-anchor-rtl .ant-anchor-ink-ball{right:50%;left:0;transform:translateX(50%)}.ant-anchor-rtl .ant-anchor-link{padding:7px 16px 7px 0}nz-link{display:block}.ant-avatar{padding:0;list-style:none;display:inline-block;color:#fff;text-align:center;background:rgba(255,255,255,.3);width:32px;height:32px;line-height:32px;border-radius:50%}.ant-avatar-lg-string,.ant-avatar-sm-string,.ant-avatar-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar-image{background:0 0}.ant-avatar .ant-image-img{display:block}.ant-avatar.ant-avatar-icon{font-size:18px}.ant-avatar-lg{width:40px;height:40px;line-height:40px;border-radius:50%}.ant-avatar-lg.ant-avatar-icon{font-size:24px}.ant-avatar-sm.ant-avatar-icon,.ant-back-top{font-size:14px}.ant-avatar-sm{width:24px;height:24px;line-height:24px;border-radius:50%}.ant-avatar-square{border-radius:2px}.ant-avatar>img{display:block;width:100%;height:100%;object-fit:cover}.ant-avatar-group,.ant-btn-group{display:inline-flex}.ant-avatar-group .ant-avatar{border:1px solid #fff}.ant-avatar-group .ant-avatar:not(:first-child){margin-left:-8px}.ant-avatar-group-popover .ant-avatar+.ant-avatar{margin-left:3px}.ant-avatar-group-rtl .ant-avatar:not(:first-child){margin-right:-8px;margin-left:0}.ant-avatar-group-popover.ant-popover-rtl .ant-avatar+.ant-avatar{margin-right:3px;margin-left:0}.ant-back-top,.ant-badge{margin:0;padding:0;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-back-top{box-sizing:border-box;line-height:1.5715;position:fixed;right:100px;bottom:50px;z-index:10;width:40px;height:40px}.ant-back-top:empty{display:none}.ant-badge,.ant-badge-status-dot{display:inline-block;position:relative}.ant-back-top-rtl{right:auto;left:100px}.ant-back-top-content{width:40px;height:40px;overflow:hidden;color:#fff;text-align:center;background-color:rgba(255,255,255,.45);border-radius:20px;transition:all .3s}.ant-back-top-content:hover{background-color:rgba(255,255,255,.85);transition:all .3s}.ant-badge-count,.ant-badge-dot{background:#a61d24;box-shadow:0 0 0 1px #141414}.ant-back-top-icon{font-size:24px;line-height:40px}@media screen and (max-width:768px){.ant-back-top{right:60px}}@media screen and (max-width:480px){.ant-back-top{right:20px}}.ant-badge{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;line-height:1}.ant-badge-count{z-index:auto;min-width:20px;height:20px;padding:0 6px;color:#fff;font-weight:400;font-size:12px;line-height:20px;white-space:nowrap;text-align:center;border-radius:10px}.ant-badge-count a,.ant-badge-count a:hover{color:#fff}.ant-badge-count-sm{min-width:14px;height:14px;padding:0;font-size:12px;line-height:14px;border-radius:7px}.ant-badge-multiple-words,.ant-ribbon{padding:0 8px}.ant-badge-dot,.ant-spin-dot-item,.g2-card__avatar img{border-radius:100%}.ant-badge-dot{z-index:auto;width:6px;min-width:6px;height:6px}.ant-badge .ant-scroll-number-custom-component,.ant-badge-count,.ant-badge-dot{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0}.ant-badge .ant-scroll-number-custom-component.anticon-spin,.ant-badge-count.anticon-spin,.ant-badge-dot.anticon-spin{animation:antBadgeLoadingCircle 1s infinite linear}.ant-badge-status{line-height:inherit}.ant-badge-not-a-wrapper:not(.ant-badge-status),.ant-badge-status-dot{vertical-align:middle}.ant-badge-status-dot{top:-1px;width:6px;height:6px;border-radius:50%}.ant-badge-status-success{background-color:#49aa19}.ant-badge-status-processing{position:relative;background-color:#177ddc}.ant-badge-status-processing::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:50%;animation:antStatusProcessing 1.2s infinite ease-in-out;content:''}.ant-badge-status-default{background-color:#d9d9d9}.ant-badge-status-error{background-color:#a61d24}.ant-badge-status-warning{background-color:#d89614}.ant-badge-status-magenta,.ant-badge-status-pink{background:#cb2b83}.ant-badge-status-red{background:#d32029}.ant-badge-status-volcano{background:#d84a1b}.ant-badge-status-orange{background:#d87a16}.ant-badge-status-yellow{background:#d8bd14}.ant-badge-status-gold{background:#d89614}.ant-badge-status-cyan{background:#13a8a8}.ant-badge-status-lime{background:#8bbb11}.ant-badge-status-green{background:#49aa19}.ant-badge-status-blue{background:#177ddc}.ant-badge-status-geekblue{background:#2b4acb}.ant-badge-status-purple{background:#642ab5}.ant-badge-status-text{margin-left:8px;color:rgba(255,255,255,.85);font-size:14px}.ant-badge-zoom-appear,.ant-badge-zoom-enter{animation:antZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46);animation-fill-mode:both}.ant-badge-zoom-leave{animation:antZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6);animation-fill-mode:both}.ant-badge-not-a-wrapper .ant-badge-zoom-appear,.ant-badge-not-a-wrapper .ant-badge-zoom-enter{animation:antNoWrapperZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46)}.ant-badge-not-a-wrapper .ant-badge-zoom-leave{animation:antNoWrapperZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6)}.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{transform:none}.ant-badge-not-a-wrapper .ant-scroll-number,.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{position:relative;top:auto;display:block;transform-origin:50% 50%}.ant-btn,.ant-btn>span,.ant-scroll-number-only{display:inline-block}@keyframes antStatusProcessing{0%{transform:scale(.8);opacity:.5}100%{transform:scale(2.4);opacity:0}}.ant-scroll-number-only,.ant-scroll-number-only>p.ant-scroll-number-only-unit{height:20px;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}.ant-scroll-number{overflow:hidden}.ant-scroll-number-only{position:relative;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-scroll-number-only>p.ant-scroll-number-only-unit{margin:0}.ant-scroll-number-symbol{vertical-align:top}@keyframes antZoomBadgeIn{0%{transform:scale(0) translate(50%,-50%);opacity:0}100%{transform:scale(1) translate(50%,-50%)}}@keyframes antZoomBadgeOut{0%{transform:scale(1) translate(50%,-50%)}100%{transform:scale(0) translate(50%,-50%);opacity:0}}@keyframes antNoWrapperZoomBadgeIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1)}}@keyframes antNoWrapperZoomBadgeOut{0%{transform:scale(1)}100%{transform:scale(0);opacity:0}}@keyframes antBadgeLoadingCircle{0%{transform-origin:50%}100%{transform:translate(50%,-50%) rotate(360deg);transform-origin:50%}}.ant-ribbon-wrapper{position:relative}.ant-ribbon{box-sizing:border-box;margin:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:absolute;top:8px;height:22px;color:#fff;line-height:22px;white-space:nowrap;background-color:#177ddc;border-radius:2px}.ant-breadcrumb,.ant-btn{line-height:1.5715;font-size:14px}.ant-ribbon-text{color:#fff}.ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentColor;border:4px solid;transform:scaleY(.75);transform-origin:top}.ant-ribbon-corner::after{position:absolute;top:-4px;left:-4px;width:inherit;height:inherit;color:rgba(0,0,0,.25);border:inherit;content:''}.ant-ribbon-color-magenta,.ant-ribbon-color-pink{color:#cb2b83;background:#cb2b83}.ant-ribbon-color-red{color:#d32029;background:#d32029}.ant-ribbon-color-volcano{color:#d84a1b;background:#d84a1b}.ant-ribbon-color-orange{color:#d87a16;background:#d87a16}.ant-ribbon-color-yellow{color:#d8bd14;background:#d8bd14}.ant-ribbon-color-gold{color:#d89614;background:#d89614}.ant-ribbon-color-cyan{color:#13a8a8;background:#13a8a8}.ant-ribbon-color-lime{color:#8bbb11;background:#8bbb11}.ant-ribbon-color-green{color:#49aa19;background:#49aa19}.ant-ribbon-color-blue{color:#177ddc;background:#177ddc}.ant-ribbon-color-geekblue{color:#2b4acb;background:#2b4acb}.ant-ribbon-color-purple{color:#642ab5;background:#642ab5}.ant-ribbon.ant-ribbon-placement-end{right:-8px;border-bottom-right-radius:0}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{right:0;border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after,.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{border-color:currentColor currentColor transparent transparent}.ant-ribbon.ant-ribbon-placement-start{left:-8px;border-bottom-left-radius:0}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{left:0}.ant-badge-rtl .ant-badge .ant-scroll-number-custom-component,.ant-badge-rtl .ant-badge-count,.ant-badge-rtl .ant-badge-dot{right:auto;left:0;direction:ltr;transform:translate(-50%,-50%);transform-origin:0 0}.ant-breadcrumb-rtl,.ant-btn-group.ant-btn-group-rtl,.ant-btn-rtl,.ant-card-rtl,.ant-carousel-rtl,.ant-checkbox-rtl,.ant-collapse-rtl,.ant-comment-rtl,.ant-picker-input>input-rtl,.ant-ribbon-rtl{direction:rtl}.ant-badge-rtl.ant-badge .ant-scroll-number-custom-component{right:auto;left:0;transform:translate(-50%,-50%);transform-origin:0 0}.ant-badge-rtl .ant-badge-status-text{margin-right:8px;margin-left:0}.ant-badge-rtl .ant-badge-zoom-appear,.ant-badge-rtl .ant-badge-zoom-enter{animation-name:antZoomBadgeInRtl}.ant-badge-rtl .ant-badge-zoom-leave{animation-name:antZoomBadgeOutRtl}.ant-badge-not-a-wrapper .ant-badge-count{transform:none}.ant-ribbon-rtl.ant-ribbon-placement-end{right:unset;left:-8px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner{right:unset;left:0}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after{border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-start{right:-8px;left:unset;border-bottom-right-radius:0;border-bottom-left-radius:2px}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner{right:0;left:unset}@keyframes antZoomBadgeInRtl{0%{transform:scale(0) translate(-50%,-50%);opacity:0}100%{transform:scale(1) translate(-50%,-50%)}}@keyframes antZoomBadgeOutRtl{0%{transform:scale(1) translate(-50%,-50%)}100%{transform:scale(0) translate(-50%,-50%);opacity:0}}.ant-badge .ant-scroll-number:only-child{position:relative;top:auto;display:block}.ant-badge .ant-badge-count:only-child{transform:none}nz-ribbon{display:block}.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(255,255,255,.45)}.ant-breadcrumb .anticon{font-size:14px}.ant-breadcrumb a{color:rgba(255,255,255,.45);transition:color .3s}.ant-breadcrumb a:hover{color:#165996}.ant-breadcrumb>span:last-child,.ant-breadcrumb>span:last-child a{color:rgba(255,255,255,.85)}.ant-breadcrumb>span:last-child .ant-breadcrumb-separator{display:none}.ant-breadcrumb-rtl::after,.ant-breadcrumb-rtl::before{display:table;content:''}.ant-breadcrumb-separator{margin:0 8px;color:rgba(255,255,255,.45)}.ant-breadcrumb>nz-breadcrumb-item:last-child,.ant-breadcrumb>nz-breadcrumb-item:last-child a,.ant-btn{color:rgba(255,255,255,.85)}.ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-overlay-link>.anticon{margin-left:4px}.ant-breadcrumb-rtl::after{clear:both}.ant-breadcrumb-rtl>span{float:right}.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link>.anticon{margin-right:4px;margin-left:0}.ant-breadcrumb-link .anticon+span{margin-left:4px}.ant-breadcrumb-rtl>nz-breadcrumb-item{float:right}nz-breadcrumb{display:block}nz-breadcrumb-item:last-child .ant-breadcrumb-separator{display:none}.ant-btn{position:relative;font-weight:400;white-space:nowrap;text-align:center;border:1px solid #434343;box-shadow:0 2px 0 rgba(0,0,0,.015);transition:all .3s cubic-bezier(.645,.045,.355,1);user-select:none;height:32px;padding:4px 15px;border-radius:2px;background:0 0}.ant-btn>.anticon,.ant-checkbox{line-height:1}.ant-btn,.ant-btn:active,.ant-btn:focus{outline:0}.ant-btn:not([disabled]):hover{text-decoration:none}.ant-btn:not([disabled]):active{outline:0;box-shadow:none}.ant-btn[disabled]{cursor:not-allowed}.ant-btn[disabled]>*{pointer-events:none}.ant-btn-lg{height:40px;padding:6.4px 15px;font-size:16px;border-radius:2px}.ant-btn-sm{height:24px;padding:0 7px;font-size:14px;border-radius:2px}.ant-btn>a:only-child{color:currentColor}.ant-btn>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:focus,.ant-btn:hover{color:#165996;border-color:#165996}.ant-btn:focus>a:only-child,.ant-btn:hover>a:only-child{color:currentColor}.ant-btn:focus>a:only-child::after,.ant-btn:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:active{color:#388ed3;border-color:#388ed3}.ant-btn:active>a:only-child{color:currentColor}.ant-btn:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn[disabled],.ant-btn[disabled]:active,.ant-btn[disabled]:focus,.ant-btn[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn[disabled]:active>a:only-child,.ant-btn[disabled]:focus>a:only-child,.ant-btn[disabled]:hover>a:only-child,.ant-btn[disabled]>a:only-child{color:currentColor}.ant-btn[disabled]:active>a:only-child::after,.ant-btn[disabled]:focus>a:only-child::after,.ant-btn[disabled]:hover>a:only-child::after,.ant-btn[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:active,.ant-btn:focus,.ant-btn:hover{text-decoration:none;background:0 0}.ant-btn-primary{color:#fff;background:#177ddc;border-color:#177ddc;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:focus,.ant-btn-primary:hover{color:#fff;background:#095cb5;border-color:#095cb5}.ant-btn-primary:focus>a:only-child,.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-primary:focus>a:only-child::after,.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:active{color:#fff;background:#3c9be8;border-color:#3c9be8}.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary[disabled],.ant-btn-primary[disabled]:active,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child){border-right-color:#165996;border-left-color:#165996}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled{border-color:#434343}.ant-btn-group .ant-btn-primary:first-child:not(:last-child){border-right-color:#165996}.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#434343}.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-left-color:#165996}.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-left-color:#434343}.ant-btn-ghost{color:rgba(255,255,255,.85);background:0 0;border-color:#434343}.ant-btn-ghost>a:only-child{color:currentColor}.ant-btn-ghost>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:focus,.ant-btn-ghost:hover{color:#165996;background:0 0;border-color:#165996}.ant-btn-ghost:focus>a:only-child,.ant-btn-ghost:hover>a:only-child{color:currentColor}.ant-btn-ghost:focus>a:only-child::after,.ant-btn-ghost:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:active{color:#388ed3;background:0 0;border-color:#388ed3}.ant-btn-ghost:active>a:only-child{color:currentColor}.ant-btn-ghost:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost[disabled],.ant-btn-ghost[disabled]:active,.ant-btn-ghost[disabled]:focus,.ant-btn-ghost[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-ghost[disabled]:active>a:only-child,.ant-btn-ghost[disabled]:focus>a:only-child,.ant-btn-ghost[disabled]:hover>a:only-child,.ant-btn-ghost[disabled]>a:only-child{color:currentColor}.ant-btn-ghost[disabled]:active>a:only-child::after,.ant-btn-ghost[disabled]:focus>a:only-child::after,.ant-btn-ghost[disabled]:hover>a:only-child::after,.ant-btn-ghost[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed{color:rgba(255,255,255,.85);background:0 0;border-color:#434343;border-style:dashed}.ant-btn-dashed>a:only-child{color:currentColor}.ant-btn-dashed>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:focus,.ant-btn-dashed:hover{color:#165996;background:0 0;border-color:#165996}.ant-btn-dashed:focus>a:only-child,.ant-btn-dashed:hover>a:only-child{color:currentColor}.ant-btn-dashed:focus>a:only-child::after,.ant-btn-dashed:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:active{color:#388ed3;background:0 0;border-color:#388ed3}.ant-btn-dashed:active>a:only-child{color:currentColor}.ant-btn-dashed:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed[disabled],.ant-btn-dashed[disabled]:active,.ant-btn-dashed[disabled]:focus,.ant-btn-dashed[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-dashed[disabled]:active>a:only-child,.ant-btn-dashed[disabled]:focus>a:only-child,.ant-btn-dashed[disabled]:hover>a:only-child,.ant-btn-dashed[disabled]>a:only-child{color:currentColor}.ant-btn-dashed[disabled]:active>a:only-child::after,.ant-btn-dashed[disabled]:focus>a:only-child::after,.ant-btn-dashed[disabled]:hover>a:only-child::after,.ant-btn-dashed[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger{color:#fff;background:#a61d24;border-color:#a61d24;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:focus,.ant-btn-danger:hover{color:#fff;background:#800f19;border-color:#800f19}.ant-btn-danger:focus>a:only-child,.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-danger:focus>a:only-child::after,.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:active{color:#fff;background:#b33b3d;border-color:#b33b3d}.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger[disabled],.ant-btn-danger[disabled]:active,.ant-btn-danger[disabled]:focus,.ant-btn-danger[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link{color:#177ddc;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-link>a:only-child{color:currentColor}.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:focus,.ant-btn-link:hover{color:#165996;background:0 0;border-color:#165996}.ant-btn-link:focus>a:only-child,.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-link:focus>a:only-child::after,.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:active{color:#388ed3;background:0 0}.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:hover{background:0 0}.ant-btn-link:active,.ant-btn-link:focus,.ant-btn-link:hover{border-color:transparent}.ant-btn-link[disabled],.ant-btn-link[disabled]:active,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-link[disabled]:active>a:only-child,.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text{color:rgba(255,255,255,.85);background:0 0;border-color:transparent;box-shadow:none}.ant-btn-text>a:only-child{color:currentColor}.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:#165996}.ant-btn-text:focus>a:only-child,.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-text:focus>a:only-child::after,.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:active{color:#388ed3}.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.03);border-color:transparent}.ant-btn-text:active{color:rgba(255,255,255,.85);background:rgba(255,255,255,.04);border-color:transparent}.ant-btn-text[disabled],.ant-btn-text[disabled]:active,.ant-btn-text[disabled]:focus,.ant-btn-text[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-text[disabled]:active>a:only-child,.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous{color:#a61d24;background:0 0;border-color:#a61d24}.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:focus,.ant-btn-dangerous:hover{color:#800f19;background:0 0;border-color:#800f19}.ant-btn-dangerous:focus>a:only-child,.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:active{color:#b33b3d;background:0 0;border-color:#b33b3d}.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous[disabled],.ant-btn-dangerous[disabled]:active,.ant-btn-dangerous[disabled]:focus,.ant-btn-dangerous[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary{color:#fff;background:#a61d24;border-color:#a61d24;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-dangerous.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:focus,.ant-btn-dangerous.ant-btn-primary:hover{color:#fff;background:#800f19;border-color:#800f19}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:active{color:#fff;background:#b33b3d;border-color:#b33b3d}.ant-btn-dangerous.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary[disabled],.ant-btn-dangerous.ant-btn-primary[disabled]:active,.ant-btn-dangerous.ant-btn-primary[disabled]:focus,.ant-btn-dangerous.ant-btn-primary[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link{color:#a61d24;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-dangerous.ant-btn-link:hover{color:#800f19;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:active{color:#b33b3d;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text{color:#a61d24;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-text>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:focus,.ant-btn-dangerous.ant-btn-text:hover{color:#800f19;background:rgba(255,255,255,.03);border-color:transparent}.ant-btn-dangerous.ant-btn-text:focus>a:only-child,.ant-btn-dangerous.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:active{color:#b33b3d;background:rgba(255,255,255,.04);border-color:transparent}.ant-btn-dangerous.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text[disabled],.ant-btn-dangerous.ant-btn-text[disabled]:active,.ant-btn-dangerous.ant-btn-text[disabled]:focus,.ant-btn-dangerous.ant-btn-text[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-icon-only{width:32px;height:32px;padding:2.4px 0;font-size:16px;border-radius:2px;vertical-align:-1px}.ant-btn-icon-only>*{font-size:16px}.ant-btn-icon-only.ant-btn-lg{width:40px;height:40px;padding:4.9px 0;font-size:18px;border-radius:2px}.ant-btn-icon-only.ant-btn-lg>*{font-size:18px}.ant-btn-icon-only.ant-btn-sm{width:24px;height:24px;padding:0;font-size:14px;border-radius:2px}.ant-btn-icon-only.ant-btn-sm>*{font-size:14px}.ant-btn-round{height:32px;padding:4px 16px;font-size:14px;border-radius:32px}.ant-btn-round.ant-btn-lg{height:40px;padding:6.4px 20px;font-size:16px;border-radius:40px}.ant-btn-round.ant-btn-sm{height:24px;padding:0 12px;font-size:14px;border-radius:24px}.ant-btn-round.ant-btn-icon-only{width:auto}.ant-btn-circle{min-width:32px;padding-right:0;padding-left:0;text-align:center;border-radius:50%}.ant-btn-circle.ant-btn-lg{min-width:40px;border-radius:50%}.ant-btn-circle.ant-btn-sm{min-width:24px;border-radius:50%}.ant-btn::before{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;display:none;background:#141414;border-radius:inherit;opacity:.35;transition:opacity .2s;content:'';pointer-events:none}.ant-btn-group,.ant-btn-group>.ant-btn,.ant-btn-group>span>.ant-btn,.ant-btn.ant-btn-loading,.ant-btn:active>span,.ant-btn:focus>span{position:relative}.ant-btn .anticon{transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon.anticon-minus>svg,.ant-btn .anticon.anticon-plus>svg{shape-rendering:optimizeSpeed}.ant-btn.ant-btn-loading:not([disabled]){pointer-events:none}.ant-btn.ant-btn-loading::before{display:block}.ant-btn>.ant-btn-loading-icon{transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-btn>.ant-btn-loading-icon .anticon{padding-right:8px;animation:none}.ant-btn>.ant-btn-loading-icon .anticon svg{animation:loadingCircle 1s infinite linear}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-right:0}.ant-btn-group>.ant-btn:active,.ant-btn-group>.ant-btn:focus,.ant-btn-group>.ant-btn:hover,.ant-btn-group>span>.ant-btn:active,.ant-btn-group>span>.ant-btn:focus,.ant-btn-group>span>.ant-btn:hover{z-index:2}.ant-btn-group>.ant-btn[disabled],.ant-btn-group>span>.ant-btn[disabled]{z-index:0}.ant-btn-group .ant-btn-icon-only{font-size:14px}.ant-btn-group-lg>.ant-btn,.ant-btn-group-lg>span>.ant-btn{height:40px;padding:6.4px 15px;font-size:16px;border-radius:0}.ant-btn-group-lg .ant-btn.ant-btn-icon-only{width:40px;height:40px;padding-right:0;padding-left:0}.ant-btn-group-sm>.ant-btn,.ant-btn-group-sm>span>.ant-btn{height:24px;padding:0 7px;font-size:14px;border-radius:0}.ant-btn-group-sm>.ant-btn>.anticon,.ant-btn-group-sm>span>.ant-btn>.anticon{font-size:14px}.ant-btn-group-sm .ant-btn.ant-btn-icon-only{width:24px;height:24px;padding-right:0;padding-left:0}.ant-btn+.ant-btn-group,.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group .ant-btn+span,.ant-btn-group span+.ant-btn,.ant-btn-group+.ant-btn,.ant-btn-group+.ant-btn-group,.ant-btn-group>span+span{margin-left:-1px}.ant-btn-group .ant-btn-primary+.ant-btn:not(.ant-btn-primary):not([disabled]){border-left-color:transparent}.ant-btn-group .ant-btn{border-radius:0}.ant-btn-group-sm>.ant-btn:only-child,.ant-btn-group-sm>span:only-child>.ant-btn,.ant-btn-group>.ant-btn:only-child,.ant-btn-group>span:only-child>.ant-btn,.ant-card{border-radius:2px}.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn,.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn,.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-btn-group>.ant-btn:first-child,.ant-btn-group>span:first-child>.ant-btn{margin-left:0}.ant-btn-group>.ant-btn-group{float:left}.ant-btn-group>.ant-btn-group:not(:first-child):not(:last-child)>.ant-btn{border-radius:0}.ant-btn-group>.ant-btn-group:first-child:not(:last-child)>.ant-btn:last-child{padding-right:8px;border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-group>.ant-btn-group:last-child:not(:first-child)>.ant-btn:first-child{padding-left:8px;border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-group-rtl.ant-btn+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group-rtl.ant-btn-group .ant-btn+span,.ant-btn-group-rtl.ant-btn-group span+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group>span+span,.ant-btn-rtl.ant-btn+.ant-btn-group,.ant-btn-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-rtl.ant-btn-group .ant-btn+span,.ant-btn-rtl.ant-btn-group span+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn-group,.ant-btn-rtl.ant-btn-group>span+span{margin-right:-1px;margin-left:auto}.ant-btn-group-rtl.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-left:8px}.ant-btn-background-ghost{color:rgba(255,255,255,.85);background:0 0!important;border-color:rgba(255,255,255,.25)}.ant-btn-background-ghost.ant-btn-primary{color:#177ddc;background:0 0;border-color:#177ddc;text-shadow:none}.ant-btn-background-ghost.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:focus,.ant-btn-background-ghost.ant-btn-primary:hover{color:#095cb5;background:0 0;border-color:#095cb5}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:active{color:#3c9be8;background:0 0;border-color:#3c9be8}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary[disabled],.ant-btn-background-ghost.ant-btn-primary[disabled]:active,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger{color:#a61d24;background:0 0;border-color:#a61d24;text-shadow:none}.ant-btn-background-ghost.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:focus,.ant-btn-background-ghost.ant-btn-danger:hover{color:#800f19;background:0 0;border-color:#800f19}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:active{color:#b33b3d;background:0 0;border-color:#b33b3d}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger[disabled],.ant-btn-background-ghost.ant-btn-danger[disabled]:active,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous{color:#a61d24;background:0 0;border-color:#a61d24;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:focus,.ant-btn-background-ghost.ant-btn-dangerous:hover{color:#800f19;background:0 0;border-color:#800f19}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:active{color:#b33b3d;background:0 0;border-color:#b33b3d}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous[disabled],.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link{color:#a61d24;background:0 0;border-color:transparent;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover{color:#800f19;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active{color:#b33b3d;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-card,.ant-card-head{color:rgba(255,255,255,.85)}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-two-chinese-chars::first-letter{letter-spacing:.34em}.ant-btn-two-chinese-chars>:not(.anticon){margin-right:-.34em;letter-spacing:.34em}.ant-btn-block{width:100%}.ant-btn:empty{display:inline-block;width:0;visibility:hidden;content:'\a0'}.ant-card-head::after,.ant-card-head::before{display:table;content:''}a.ant-btn{padding-top:.01px!important;line-height:30px}a.ant-btn-lg{line-height:38px}a.ant-btn-sm{line-height:22px}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-right-color:#165996;border-left-color:#434343}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-right-color:#434343;border-left-color:#165996}.ant-btn-rtl.ant-btn>.ant-btn-loading-icon .anticon{padding-right:0;padding-left:8px}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-left:0}.ant-btn-rtl.ant-btn>.anticon+span,.ant-btn-rtl.ant-btn>span+.anticon{margin-right:8px;margin-left:0}.ant-card{box-sizing:border-box;margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;background:#141414}.ant-card-hoverable{cursor:pointer;transition:box-shadow .3s,border-color .3s}.ant-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.64),0 3px 6px 0 rgba(0,0,0,.48),0 5px 12px 4px rgba(0,0,0,.36)}.ant-card-head,.ant-card-head .ant-tabs-bar{border-bottom:1px solid #303030}.ant-card-bordered{border:1px solid #303030}.ant-card-head{min-height:48px;margin-bottom:-1px;padding:0 24px;font-weight:500;font-size:16px;background:0 0;border-radius:2px 2px 0 0}.ant-card-extra,.ant-card-head .ant-tabs{color:rgba(255,255,255,.85);font-weight:400}.ant-card-head::after{clear:both}.ant-card-head-wrapper{display:flex;align-items:center}.ant-card-head-title{display:inline-block;flex:1;padding:16px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-card-body::after,.ant-card-body::before{display:table;content:''}.ant-card-head-title>.ant-typography,.ant-card-head-title>.ant-typography-edit-content{left:0;margin-top:0;margin-bottom:0}.ant-card-head .ant-tabs{clear:both;margin-bottom:-17px;font-size:14px}.ant-card-extra{float:right;margin-left:auto;padding:16px 0;font-size:14px}.ant-card-rtl .ant-card-extra{margin-right:auto;margin-left:0}.ant-card-body{padding:24px}.ant-card-body::after{clear:both}.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body{margin:-1px 0 0 -1px;padding:0}.ant-card-grid{float:left;width:33.33%;padding:24px;border:0;border-radius:0;box-shadow:1px 0 0 0 #303030,0 1px 0 0 #303030,1px 1px 0 0 #303030,1px 0 0 0 #303030 inset,0 1px 0 0 #303030 inset;transition:all .3s}.ant-card-rtl .ant-card-grid{float:right}.ant-card-grid-hoverable:hover{position:relative;z-index:1;box-shadow:0 1px 2px -2px rgba(0,0,0,.64),0 3px 6px 0 rgba(0,0,0,.48),0 5px 12px 4px rgba(0,0,0,.36)}.ant-card-contain-tabs>.ant-card-head .ant-card-head-title{min-height:32px;padding-bottom:0}.ant-card-contain-tabs>.ant-card-head .ant-card-extra{padding-bottom:0}.ant-card-bordered .ant-card-cover{margin-top:-1px;margin-right:-1px;margin-left:-1px}.ant-card-cover>*{display:block;width:100%}.ant-card-actions::after,.ant-card-actions::before{display:table;content:''}.ant-card-cover img{border-radius:2px 2px 0 0}.ant-card-actions{margin:0;padding:0;list-style:none;background:#141414;border-top:1px solid #303030}.ant-card-actions::after{clear:both}.ant-card-actions>li{float:left;margin:12px 0;color:rgba(255,255,255,.45);text-align:center}.ant-card-rtl .ant-card-actions>li{float:right}.ant-card-actions>li>span{position:relative;display:block;min-width:32px;font-size:14px;line-height:1.5715;cursor:pointer}.ant-card-actions>li>span:hover{color:#177ddc;transition:color .3s}.ant-card-actions>li>span a:not(.ant-btn),.ant-card-actions>li>span>.anticon{display:inline-block;width:100%;color:rgba(255,255,255,.45);line-height:22px;transition:color .3s}.ant-card-meta::after,.ant-card-meta::before{display:table;content:''}.ant-card-actions>li>span a:not(.ant-btn):hover,.ant-card-actions>li>span>.anticon:hover{color:#177ddc}.ant-card-actions>li>span>.anticon{font-size:16px;line-height:22px}.ant-card-actions>li:not(:last-child){border-right:1px solid #303030}.ant-card-rtl .ant-card-actions>li:not(:last-child){border-right:none;border-left:1px solid #303030}.ant-card-type-inner .ant-card-head{padding:0 24px;background:rgba(255,255,255,.04)}.ant-card-type-inner .ant-card-head-title{padding:12px 0;font-size:14px}.ant-card-type-inner .ant-card-body{padding:16px 24px}.ant-card-type-inner .ant-card-extra{padding:13.5px 0}.ant-card-meta{margin:-4px 0}.ant-card-meta::after{clear:both}.ant-card-meta-avatar{float:left;padding-right:16px}.ant-card-rtl .ant-card-meta-avatar{float:right;padding-right:0;padding-left:16px}.ant-card-meta-detail{overflow:hidden}.ant-card-meta-detail>div:not(:last-child){margin-bottom:8px}.ant-card-meta-title{overflow:hidden;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.ant-card-meta-description,.ant-comment-content-author-name,.ant-comment-content-author-name>*,.ant-comment-content-author-name>:hover{color:rgba(255,255,255,.45)}.ant-carousel,.ant-checkbox{color:rgba(255,255,255,.85);font-variant:tabular-nums;list-style:none;font-size:14px;font-feature-settings:tnum}.ant-card-loading{overflow:hidden}.ant-card-loading .ant-card-body{user-select:none}.ant-card-loading-content p{margin:0}.ant-card-loading-block{height:14px;margin:4px 0;background:linear-gradient(90deg,rgba(48,48,48,.2),rgba(48,48,48,.4),rgba(48,48,48,.2));background-size:600% 600%;border-radius:2px;animation:card-loading 1.4s ease infinite}@keyframes card-loading{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.ant-card-small>.ant-card-head{min-height:36px;padding:0 12px;font-size:14px}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-head-title{padding:8px 0}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-extra{padding:8px 0;font-size:14px}.ant-card-small>.ant-card-body{padding:12px}.ant-card-rtl .ant-skeleton-header{padding:0 0 0 16px}nz-card,nz-card-loading,nz-card-meta{display:block}.ant-carousel{box-sizing:border-box;margin:0;padding:0;line-height:1.5715}.ant-carousel .slick-slider{position:relative;display:block;box-sizing:border-box;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-touch-callout:none}.ant-carousel .slick-list{position:relative;display:block;margin:0;padding:0;overflow:hidden}.ant-carousel .slick-list:focus{outline:0}.ant-carousel .slick-list.dragging{cursor:pointer}.ant-carousel .slick-list .slick-slide{pointer-events:none}.ant-carousel .slick-list .slick-slide input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide input.ant-radio-input{visibility:hidden}.ant-carousel .slick-list .slick-slide.slick-active{pointer-events:auto}.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input{visibility:visible}.ant-carousel .slick-loading .slick-slide,.ant-checkbox-checked::after,.slick-loading .ant-carousel .slick-track{visibility:hidden}.ant-carousel .slick-list .slick-slide>div>div{vertical-align:bottom}.ant-carousel .slick-slider .slick-list,.ant-carousel .slick-slider .slick-track{transform:translate3d(0,0,0);touch-action:pan-y}.ant-carousel .slick-track{position:relative;top:0;left:0;display:block}.ant-carousel .slick-track::after,.ant-carousel .slick-track::before{display:table;content:''}.ant-carousel .slick-track::after{clear:both}.ant-carousel .slick-slide{display:none;float:left;height:100%;min-height:1px}.ant-carousel .slick-slide img{display:block}.ant-carousel .slick-slide.slick-loading img{display:none}.ant-carousel .slick-slide.dragging img{pointer-events:none}.ant-carousel .slick-initialized .slick-slide{display:block}.ant-carousel .slick-vertical .slick-slide{display:block;height:auto}.ant-carousel .slick-arrow.slick-hidden{display:none}.ant-carousel .slick-next,.ant-carousel .slick-prev{position:absolute;top:50%;display:block;width:20px;height:20px;margin-top:-10px;padding:0;color:transparent;font-size:0;line-height:0;background:0 0;border:0;outline:0;cursor:pointer}.ant-carousel .slick-next:focus,.ant-carousel .slick-next:hover,.ant-carousel .slick-prev:focus,.ant-carousel .slick-prev:hover{color:transparent;background:0 0;outline:0}.ant-carousel .slick-next:focus::before,.ant-carousel .slick-next:hover::before,.ant-carousel .slick-prev:focus::before,.ant-carousel .slick-prev:hover::before{opacity:1}.ant-carousel .slick-next.slick-disabled::before,.ant-carousel .slick-prev.slick-disabled::before{opacity:.25}.ant-carousel .slick-prev{left:-25px}.ant-carousel .slick-prev::before{content:'←'}.ant-carousel .slick-next::before,.ant-carousel-rtl .ant-carousel .slick-prev::before{content:'→'}.ant-carousel .slick-next{right:-25px}.ant-carousel .slick-dots{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex!important;justify-content:center;margin-right:15%;margin-left:15%;padding-left:0;list-style:none}.ant-carousel .slick-dots-bottom,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}.ant-carousel .slick-dots-top{top:12px;bottom:auto}.ant-carousel .slick-dots li{position:relative;display:inline-block;flex:0 1 auto;box-sizing:content-box;width:16px;height:3px;margin:0 3px;padding:0;text-align:center;text-indent:-999px;vertical-align:top;transition:all .5s}.ant-carousel .slick-dots li button{display:block;width:100%;height:3px;padding:0;color:transparent;font-size:0;background:#141414;border:0;border-radius:1px;outline:0;cursor:pointer;opacity:.3;transition:all .5s}.ant-carousel .slick-dots li button:focus,.ant-carousel .slick-dots li button:hover{opacity:.75}.ant-carousel .slick-dots li.slick-active{width:24px}.ant-carousel .slick-dots li.slick-active button{background:#141414;opacity:1}.ant-carousel .slick-dots li.slick-active:focus,.ant-carousel .slick-dots li.slick-active:hover{opacity:1}.ant-carousel-vertical .slick-dots{top:50%;bottom:auto;flex-direction:column;width:3px;height:auto;margin:0;transform:translateY(-50%)}.ant-carousel-vertical .slick-dots-left{right:auto;left:12px}.ant-carousel-vertical .slick-dots-right{right:12px;left:auto}.ant-carousel-vertical .slick-dots li{width:3px;height:16px;margin:4px 2px;vertical-align:baseline}.ant-checkbox,.ant-checkbox-wrapper{margin:0;padding:0;box-sizing:border-box}.ant-carousel-vertical .slick-dots li button{width:3px;height:16px}.ant-carousel-vertical .slick-dots li.slick-active,.ant-carousel-vertical .slick-dots li.slick-active button{width:3px;height:24px}.ant-carousel-rtl .ant-carousel .slick-track{right:0;left:auto}.ant-carousel-rtl .ant-carousel .slick-prev{right:-25px;left:auto}.ant-carousel-rtl .ant-carousel .slick-next{right:auto;left:-25px}.ant-carousel-rtl .ant-carousel .slick-next::before{content:'←'}.ant-carousel-rtl.ant-carousel .slick-dots{flex-direction:row-reverse}.ant-carousel-rtl.ant-carousel-vertical .slick-dots{flex-direction:column}nz-carousel{display:block;position:relative;overflow:hidden;width:100%;height:100%}.slick-dots{display:block}.slick-track{opacity:1}.slick-list{direction:ltr}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-checkbox{position:relative;top:.2em;white-space:nowrap;outline:0;cursor:pointer}.ant-checkbox-input:focus+.ant-checkbox-inner,.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner{border-color:#177ddc}.ant-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:2px;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-checkbox-wrapper:hover .ant-checkbox::after,.ant-checkbox:hover::after{visibility:visible}.ant-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:transparent;border:1px solid #434343;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-checkbox-disabled,.ant-checkbox-disabled .ant-checkbox-input,.ant-checkbox-disabled+span{cursor:not-allowed}.ant-checkbox-checked .ant-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-checkbox-checked .ant-checkbox-inner{background-color:#177ddc;border-color:#177ddc}.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after{border-color:rgba(255,255,255,.3);animation-name:none}.ant-checkbox-disabled .ant-checkbox-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-checkbox-disabled .ant-checkbox-inner::after{border-color:rgba(255,255,255,.08);border-collapse:separate;animation-name:none}.ant-checkbox-disabled+span{color:rgba(255,255,255,.3)}.ant-checkbox-group,.ant-checkbox-wrapper{color:rgba(255,255,255,.85);font-variant:tabular-nums;list-style:none}.ant-checkbox-disabled:hover::after,.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after{visibility:hidden}.ant-checkbox-wrapper{font-size:14px;font-feature-settings:tnum;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled{cursor:not-allowed}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-left:8px}.ant-checkbox+span{padding-right:8px;padding-left:8px}.ant-checkbox-group,.ant-collapse{padding:0;line-height:1.5715;font-size:14px;font-feature-settings:tnum}.ant-checkbox-group{box-sizing:border-box;margin:0;display:inline-block}.ant-checkbox-group-item{margin-right:8px}.ant-checkbox-group-item:last-child{margin-right:0}.ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:0}.ant-checkbox-indeterminate .ant-checkbox-inner{background-color:transparent;border-color:#434343}.ant-checkbox-indeterminate .ant-checkbox-inner::after{top:50%;left:50%;width:8px;height:8px;background-color:#177ddc;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-collapse,.ant-picker{color:rgba(255,255,255,.85);border:1px solid #434343;box-sizing:border-box;font-variant:tabular-nums;list-style:none}.ant-checkbox-group-rtl .ant-checkbox-group-item{margin-right:0;margin-left:8px}.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child{margin-left:0!important}.ant-checkbox-group-rtl .ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:8px}.ant-checkbox+span:empty{display:none}.ant-collapse{margin:0;background-color:rgba(255,255,255,.04);border-bottom:0;border-radius:2px}.ant-collapse-item:last-child>.ant-collapse-content,.ant-collapse>.ant-collapse-item:last-child,.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{border-radius:0 0 2px 2px}.ant-collapse>.ant-collapse-item{border-bottom:1px solid #434343}.ant-collapse>.ant-collapse-item>.ant-collapse-header{position:relative;padding:12px 16px;color:rgba(255,255,255,.85);line-height:1.5715;cursor:pointer;transition:all .3s,visibility 0s}.ant-collapse>.ant-collapse-item>.ant-collapse-header::before{display:table;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header::after{display:table;clear:both;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{display:inline-block;margin-right:12px;font-size:12px;vertical-align:-1px}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg{transition:transform .24s}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:right}.ant-collapse>.ant-collapse-item>.ant-collapse-header:focus{outline:0}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only{cursor:default}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text{cursor:pointer}.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-left:12px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header{padding:12px 40px 12px 16px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{position:absolute;top:50%;right:16px;left:auto;margin:0;transform:translateY(-50%)}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.ant-picker-rtl .ant-picker-separator{transform:rotate(180deg)}.ant-collapse-content{color:rgba(255,255,255,.85);background-color:#141414;border-top:1px solid #434343}.ant-collapse-borderless,.ant-descriptions-bordered .ant-descriptions-item-label{background-color:rgba(255,255,255,.04)}.ant-collapse-content>.ant-collapse-content-box{padding:16px}.ant-collapse-content-hidden{display:none}nz-collapse,nz-collapse-panel,nz-comment,nz-comment-content{display:block}.ant-collapse-borderless{border:0}.ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #434343}.ant-collapse-borderless>.ant-collapse-item:last-child,.ant-collapse-borderless>.ant-collapse-item:last-child .ant-collapse-header{border-radius:0}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content{background-color:transparent;border-top:0}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:4px}.ant-collapse-ghost{background-color:transparent;border:0}.ant-collapse-ghost>.ant-collapse-item{border-bottom:0}.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content{background-color:transparent;border-top:0}.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:12px;padding-bottom:12px}.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-collapse-rtl .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:12px 40px 12px 16px}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:left}.ant-collapse-rtl.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-right:12px;padding-left:0}.ant-comment{position:relative;background-color:transparent}.ant-comment-inner{display:flex;padding:16px 0}.ant-comment-avatar{position:relative;flex-shrink:0;margin-right:12px;cursor:pointer}.ant-comment-avatar img{width:32px;height:32px;border-radius:50%}.ant-comment-content{position:relative;flex:1 1 auto;min-width:1px;font-size:14px;word-wrap:break-word}.ant-comment-content-author{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:4px;font-size:14px}.ant-comment-content-author>a,.ant-comment-content-author>span{padding-right:8px;font-size:12px;line-height:18px}.ant-comment-content-author-name{font-size:14px;transition:color .3s}.ant-comment-content-author-time{color:rgba(255,255,255,.3);white-space:nowrap;cursor:auto}.ant-comment-content-detail p{margin-bottom:inherit;white-space:pre-wrap}.ant-comment-actions{margin-top:12px;margin-bottom:inherit;padding-left:0}.ant-comment-actions>li{display:inline-block;color:rgba(255,255,255,.45)}.ant-comment-actions>li>span{margin-right:10px;color:rgba(255,255,255,.45);font-size:12px;cursor:pointer;transition:color .3s;user-select:none}.ant-picker,.ant-picker-input>input{font-size:14px;background:0 0;line-height:1.5715}.ant-comment-actions>li>span:hover{color:rgba(255,255,255,.65)}.ant-comment-nested{margin-left:44px}.ant-comment-rtl .ant-comment-avatar{margin-right:0;margin-left:12px}.ant-comment-rtl .ant-comment-content-author>a,.ant-comment-rtl .ant-comment-content-author>span{padding-right:0;padding-left:8px}.ant-comment-rtl .ant-comment-actions{padding-right:0}.ant-comment-rtl .ant-comment-actions>li>span{margin-right:0;margin-left:10px}.ant-comment-rtl .ant-comment-nested{margin-right:44px;margin-left:0}.ant-picker,.ant-picker-input{display:inline-flex;position:relative}.ant-picker{margin:0;font-feature-settings:tnum;padding:4px 11px;align-items:center;border-radius:2px;transition:border .3s,box-shadow .3s}.ant-picker-focused,.ant-picker:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-picker-focused,.ant-input-rtl .ant-picker:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-focused{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-picker-focused{border-right-width:0;border-left-width:1px!important}.ant-picker.ant-picker-disabled{background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-picker.ant-picker-disabled .ant-picker-suffix{color:rgba(255,255,255,.3)}.ant-picker.ant-picker-borderless{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-picker-input{align-items:center;width:100%}.ant-picker-input>input{position:relative;display:inline-block;width:100%;color:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;flex:auto;min-width:1px;height:auto;padding:0;border:0}.ant-picker-input>input-disabled,.ant-picker-input>input[disabled]{background-color:rgba(255,255,255,.08);cursor:not-allowed;color:rgba(255,255,255,.3);opacity:1;pointer-events:none}.ant-picker-input>input::-moz-placeholder{opacity:1}.ant-picker-input>input::placeholder{color:rgba(255,255,255,.3)}.ant-picker-input>input:placeholder-shown{text-overflow:ellipsis}.ant-picker-input>input:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-picker-input>input:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-focused,.ant-picker-input>input:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-picker-input>input-focused,.ant-input-rtl .ant-picker-input>input:focus{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-disabled:hover,.ant-picker-input>input[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-picker-input>input-borderless,.ant-picker-input>input-borderless-disabled,.ant-picker-input>input-borderless-focused,.ant-picker-input>input-borderless:focus,.ant-picker-input>input-borderless:hover,.ant-picker-input>input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-picker-input>input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-picker-input>input-lg{padding:6.5px 11px;font-size:16px}.ant-picker-input>input-sm{padding:0 7px}.ant-picker-input>input:focus{box-shadow:none}.ant-picker-input>input[disabled]{background:0 0}.ant-picker-input:hover .ant-picker-clear{opacity:1}.ant-picker-input-placeholder>input{color:rgba(255,255,255,.3)}.ant-picker-large{padding:6.5px 11px}.ant-picker-large .ant-picker-input>input{font-size:16px}.ant-picker-small{padding:0 7px}.ant-picker-suffix{align-self:center;margin-left:4px;color:rgba(255,255,255,.3);line-height:1;pointer-events:none}.ant-picker-suffix>*{vertical-align:top}.ant-picker-clear{position:absolute;top:50%;right:0;color:rgba(255,255,255,.3);line-height:1;background:#141414;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .3s,color .3s}.ant-picker-clear>*{vertical-align:top}.ant-picker-clear:hover{color:rgba(255,255,255,.45)}.ant-picker-separator{position:relative;display:inline-block;width:1em;height:16px;color:rgba(255,255,255,.3);font-size:16px;vertical-align:top;cursor:default}.ant-picker-focused .ant-picker-separator{color:rgba(255,255,255,.45)}.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator{cursor:not-allowed}.ant-picker-range{position:relative;display:inline-flex}.ant-picker-range .ant-picker-clear{right:11px}.ant-picker-range:hover .ant-picker-clear{opacity:1}.ant-picker-range .ant-picker-active-bar{bottom:-1px;height:2px;margin-left:11px;background:#177ddc;opacity:0;transition:all .3s ease-out;pointer-events:none}.ant-picker-range.ant-picker-small .ant-picker-active-bar,.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-picker-range.ant-picker-focused .ant-picker-active-bar{opacity:1}.ant-picker-range-separator{align-items:center;padding:0 8px;line-height:1}.ant-picker-range.ant-picker-small .ant-picker-clear{right:7px}.ant-picker-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:absolute;z-index:1050}.ant-picker-dropdown-hidden{display:none}.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow{top:1.67px;display:block;transform:rotate(-45deg)}.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow{bottom:1.67px;display:block;transform:rotate(135deg)}.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-bottomLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpIn}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-picker-dropdown-range{padding:6.67px 0}.ant-picker-dropdown .ant-picker-panel>.ant-picker-time-panel,.ant-steps-with-progress .ant-steps-item{padding-top:4px}.ant-picker-dropdown-range-hidden{display:none}.ant-picker-ranges{margin-bottom:0;padding:4px 12px;overflow:hidden;line-height:34px;text-align:left;list-style:none}.ant-picker-ranges>li{display:inline-block}.ant-picker-ranges .ant-picker-preset>.ant-tag-blue{color:#177ddc;background:#111b26;border-color:#153450;cursor:pointer}.ant-picker-ranges .ant-picker-ok{float:right;margin-left:8px}.ant-picker-range-wrapper{display:flex}.ant-picker-range-arrow{position:absolute;z-index:1;display:none;width:10px;height:10px;margin-left:16.5px;box-shadow:2px -2px 6px rgba(0,0,0,.06);transition:left .3s ease-out}.ant-picker-range-arrow::after{position:absolute;top:1px;right:1px;width:10px;height:10px;border:5px solid #303030;border-color:#1f1f1f #1f1f1f transparent transparent;content:''}.ant-picker-panel-container{overflow:hidden;vertical-align:top;background:#1f1f1f;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2);transition:margin .3s}.ant-picker-panel-container .ant-picker-panels{display:inline-flex;flex-wrap:nowrap;direction:ltr}.ant-picker-panel-container .ant-picker-panel{vertical-align:top;background:0 0;border-width:0 0 1px;border-radius:0}.ant-picker-panel-container .ant-picker-panel-focused{border-color:#303030}.ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#1f1f1f;border:1px solid #303030;border-radius:2px;outline:0}.ant-picker-panel-focused{border-color:#177ddc}.ant-picker-date-panel,.ant-picker-decade-panel,.ant-picker-month-panel,.ant-picker-quarter-panel,.ant-picker-time-panel,.ant-picker-week-panel,.ant-picker-year-panel{display:flex;flex-direction:column;width:280px}.ant-picker-header{display:flex;padding:0 8px;color:rgba(255,255,255,.85);border-bottom:1px solid #303030}.ant-picker-header>*{flex:none}.ant-picker-header button{padding:0;color:rgba(255,255,255,.3);line-height:40px;background:0 0;border:0;cursor:pointer;transition:color .3s}.ant-picker-header>button{min-width:1.6em;font-size:14px}.ant-picker-header>button:hover{color:rgba(255,255,255,.85)}.ant-picker-header-view{flex:auto;font-weight:500;line-height:40px}.ant-picker-header-view button{color:inherit;font-weight:inherit}.ant-picker-header-view button:not(:first-child){margin-left:8px}.ant-picker-header-view button:hover{color:#177ddc}.ant-picker-next-icon,.ant-picker-prev-icon,.ant-picker-super-next-icon,.ant-picker-super-prev-icon{position:relative;display:inline-block;width:7px;height:7px}.ant-picker-next-icon::before,.ant-picker-prev-icon::before,.ant-picker-super-next-icon::before,.ant-picker-super-prev-icon::before{position:absolute;top:0;left:0;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-super-next-icon::after,.ant-picker-super-prev-icon::after{position:absolute;top:4px;left:4px;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-prev-icon,.ant-picker-super-prev-icon{transform:rotate(-45deg)}.ant-picker-next-icon,.ant-picker-super-next-icon{transform:rotate(135deg)}.ant-picker-content{width:100%;table-layout:fixed}.ant-picker-content td,.ant-picker-content th{position:relative;min-width:24px;font-weight:400}.ant-picker-content th{height:30px;color:rgba(255,255,255,.85);line-height:30px}.ant-picker-cell{padding:3px 0;color:rgba(255,255,255,.3);cursor:pointer}.ant-picker-cell-in-view{color:rgba(255,255,255,.85)}.ant-picker-cell-disabled{cursor:not-allowed;pointer-events:none}.ant-picker-cell::before{position:absolute;top:50%;right:0;left:0;z-index:1;height:24px;transform:translateY(-50%);content:''}.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:rgba(255,255,255,.08)}.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:1px solid #177ddc;border-radius:2px;content:''}.ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative}.ant-picker-cell-in-view.ant-picker-cell-in-range::before{background:#111b26}.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{color:#fff;background:#177ddc}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before{background:#111b26}.ant-picker-cell-in-view.ant-picker-cell-range-start::before{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #0e4980;border-bottom:1px dashed #0e4980;transform:translateY(-50%);content:''}.ant-picker-cell-range-hover-end::after,.ant-picker-cell-range-hover-start::after,.ant-picker-cell-range-hover::after{right:0;left:2px}.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before{background:#06213a}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after,.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{position:absolute;top:0;bottom:0;z-index:-1;background:#06213a;content:''}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:50%}.ant-picker-cell-range-hover.ant-picker-cell-range-end::after{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after{left:6px;border-left:1px dashed #0e4980;border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after{right:6px;border-right:1px dashed #0e4980;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-picker-cell-disabled .ant-picker-cell-inner{color:rgba(255,255,255,.3);background:0 0}.ant-picker-cell-disabled::before,.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner{background:#303030}.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:rgba(255,255,255,.3)}.ant-picker-decade-panel .ant-picker-content,.ant-picker-month-panel .ant-picker-content,.ant-picker-quarter-panel .ant-picker-content,.ant-picker-year-panel .ant-picker-content{height:264px}.ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{padding:0 8px}.ant-picker-quarter-panel .ant-picker-content{height:56px}.ant-picker-footer{width:min-content;min-width:100%;line-height:38px;text-align:center;border-bottom:1px solid transparent}.ant-picker-panel .ant-picker-footer{border-top:1px solid #303030}.ant-picker-footer-extra{padding:0 12px;line-height:38px;text-align:left}.ant-picker-footer-extra:not(:last-child){border-bottom:1px solid #303030}.ant-picker-now{text-align:left}.ant-picker-today-btn{color:#177ddc}.ant-picker-today-btn:hover{color:#165996}.ant-picker-today-btn:active{color:#388ed3}.ant-picker-today-btn.ant-picker-today-btn-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-picker-decade-panel .ant-picker-cell-inner{padding:0 4px}.ant-picker-decade-panel .ant-picker-cell::before{display:none}.ant-picker-month-panel .ant-picker-body,.ant-picker-quarter-panel .ant-picker-body,.ant-picker-year-panel .ant-picker-body{padding:0 8px}.ant-picker-date-panel .ant-picker-body,.ant-picker-week-panel .ant-picker-body{padding:8px 12px}.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{width:60px}.ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-year-panel .ant-picker-cell-range-hover-start::after{left:14px;border-left:1px dashed #0e4980;border-radius:2px 0 0 2px}.ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-year-panel .ant-picker-cell-range-hover-end::after{right:14px;border-right:1px dashed #0e4980;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after{left:14px;border-left:1px dashed #0e4980;border-radius:2px 0 0 2px}.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner{background:0 0!important}.ant-picker-week-panel-row td{transition:background .3s}.ant-picker-week-panel-row:hover td{background:rgba(255,255,255,.08)}.ant-picker-week-panel-row-selected td,.ant-picker-week-panel-row-selected:hover td{background:#177ddc}.ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:rgba(255,255,255,.5)}.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:#fff}.ant-picker-datetime-panel .ant-picker-time-panel,.ant-picker-time-panel-column:not(:first-child){border-left:1px solid #303030}.ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff}.ant-picker-date-panel .ant-picker-content{width:252px}.ant-picker-date-panel .ant-picker-content th{width:36px}.ant-picker-datetime-panel{display:flex}.ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity .3s}.ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:.3}.ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1}.ant-picker-time-panel{width:auto;min-width:auto}.ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px}.ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:0;padding:0;overflow-y:hidden;text-align:left;list-style:none;transition:background .3s}.ant-picker-time-panel-column::after{display:block;height:196px;content:''}.ant-picker-datetime-panel .ant-picker-time-panel-column::after{height:198px}.ant-picker-time-panel-column-active{background:rgba(17,27,38,.2)}.ant-picker-time-panel-column:hover{overflow-y:auto}.ant-picker-time-panel-column>li{margin:0;padding:0}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:100%;height:28px;margin:0;padding:0 0 0 14px;color:rgba(255,255,255,.85);line-height:28px;border-radius:0;cursor:pointer;transition:background .3s}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:rgba(255,255,255,.08)}.ant-menu-item:active,.ant-menu-submenu-title:active,.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#111b26}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:rgba(255,255,255,.3);background:0 0;cursor:not-allowed}:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell{padding:21px 0}.ant-picker-rtl{direction:rtl}.ant-picker-rtl .ant-picker-suffix{margin-right:4px;margin-left:0}.ant-picker-rtl .ant-picker-clear{right:auto;left:0}.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child){margin-right:8px;margin-left:0}.ant-picker-rtl.ant-picker-range .ant-picker-clear{right:auto;left:11px}.ant-picker-rtl.ant-picker-range .ant-picker-active-bar{margin-right:11px;margin-left:0}.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-right:7px}.ant-picker-dropdown-rtl .ant-picker-ranges{text-align:right}.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok{float:left;margin-right:8px;margin-left:0}.ant-picker-panel-rtl{direction:rtl}.ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(135deg)}.ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-45deg)}.ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:24px;height:24px;line-height:24px;border-radius:2px;transition:background .3s,border .3s}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before{right:50%;left:50%}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after{right:6px;left:0;border-right:1px dashed #0e4980;border-left:none;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after{right:0;left:6px;border-right:none;border-left:1px dashed #0e4980;border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after{right:6px;left:6px;border-right:1px dashed #0e4980;border-left:1px dashed #0e4980;border-radius:2px}.ant-picker-dropdown-rtl .ant-picker-footer-extra{direction:rtl;text-align:right}.ant-picker-panel-rtl .ant-picker-time-panel{direction:ltr}.ant-descriptions-rtl,.ant-divider-rtl,.ant-drawer-rtl,.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title,.ant-empty-rtl,.ant-input-affix-wrapper-rtl,.ant-input-group-rtl,.ant-input-group-wrapper-rtl,.ant-input-number-rtl,.ant-input-rtl,.ant-input-search-rtl,.ant-input-textarea-rtl,.ant-row-rtl{direction:rtl}.ant-picker-inline{border:none;padding:0}.ant-picker-inline .ant-picker-range-arrow{display:none!important}.ant-descriptions-header{display:flex;align-items:center;margin-bottom:20px}.ant-descriptions-title{flex:auto;overflow:hidden;color:rgba(255,255,255,.85);font-weight:700;font-size:16px;line-height:1.5715;white-space:nowrap;text-overflow:ellipsis}.ant-descriptions-extra,.ant-descriptions-item-content,.ant-descriptions-item-label,.ant-divider{font-size:14px;color:rgba(255,255,255,.85)}.ant-descriptions-extra{margin-left:auto}.ant-descriptions-view{width:100%;overflow:hidden;border-radius:2px}.ant-descriptions-view table{width:100%;table-layout:fixed}.ant-descriptions-row>td,.ant-descriptions-row>th{padding-bottom:16px}.ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-item-label{font-weight:400;line-height:1.5715;text-align:start}.ant-descriptions-item-label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-descriptions-item-label.ant-descriptions-item-no-colon::after,.ant-dropdown::before{content:' '}.ant-descriptions-item-no-label::after{margin:0;content:''}.ant-descriptions-item-content{display:table-cell;flex:1;line-height:1.5715;word-break:break-word;overflow-wrap:break-word}.ant-descriptions-item{padding-bottom:0;vertical-align:top}.ant-descriptions-item-container{display:flex}.ant-descriptions-item-container .ant-descriptions-item-content,.ant-descriptions-item-container .ant-descriptions-item-label{display:inline-flex;align-items:baseline}.ant-descriptions-middle .ant-descriptions-row>td,.ant-descriptions-middle .ant-descriptions-row>th{padding-bottom:12px}.ant-descriptions-small .ant-descriptions-row>td,.ant-descriptions-small .ant-descriptions-row>th{padding-bottom:8px}.ant-descriptions-bordered .ant-descriptions-view{border:1px solid #303030}.ant-descriptions-bordered .ant-descriptions-view>table{table-layout:auto}.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-bordered .ant-descriptions-item-label{padding:16px 24px;border-right:1px solid #303030}.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-right:none}.ant-descriptions-bordered .ant-descriptions-item-label::after{display:none}.ant-descriptions-bordered .ant-descriptions-row{border-bottom:1px solid #303030}.ant-descriptions-bordered .ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label{padding:12px 24px}.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label{padding:8px 16px}.ant-descriptions-rtl .ant-descriptions-item-label::after{margin:0 2px 0 8px}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label{border-right:none;border-left:1px solid #303030}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-left:none}nz-descriptions{display:block}.ant-divider{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;border-top:1px solid rgba(255,255,255,.12)}.ant-divider-vertical{position:relative;top:-.06em;display:inline-block;height:.9em;margin:0 8px;vertical-align:middle;border-top:0;border-left:1px solid rgba(255,255,255,.12)}.ant-divider-horizontal{display:flex;clear:both;width:100%;min-width:100%;margin:24px 0}.ant-divider-horizontal.ant-divider-with-text{display:flex;margin:16px 0;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;white-space:nowrap;text-align:center;border-top:0;border-top-color:rgba(255,255,255,.12)}.ant-divider-horizontal.ant-divider-with-text::after,.ant-divider-horizontal.ant-divider-with-text::before{position:relative;top:50%;width:50%;border-top:1px solid transparent;border-top-color:inherit;border-bottom:0;transform:translateY(50%);content:''}.ant-divider-horizontal.ant-divider-with-text-left::before{top:50%;width:5%}.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-horizontal.ant-divider-with-text-right::before{top:50%;width:95%}.ant-divider-horizontal.ant-divider-with-text-right::after{top:50%;width:5%}.ant-divider-inner-text{display:inline-block;padding:0 1em}.ant-divider-dashed{background:0 0;border-color:rgba(255,255,255,.12);border-style:dashed;border-width:1px 0 0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed{border-top:0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after,.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before{border-style:dashed none none}.ant-divider-vertical.ant-divider-dashed{border-width:0 0 0 1px}.ant-divider-plain.ant-divider-with-text{color:rgba(255,255,255,.85);font-weight:400;font-size:14px}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before{width:95%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before{width:5%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after{width:95%}.ant-drawer{position:fixed;z-index:1000;width:0%;height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1),height 0s ease .3s,width 0s ease .3s}.ant-drawer>*{transition:transform .3s cubic-bezier(.7,.3,.1,1),box-shadow .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-content-wrapper{position:absolute;width:100%;height:100%}.ant-drawer .ant-drawer-content{width:100%;height:100%}.ant-drawer-left,.ant-drawer-right{top:0;width:0%;height:100%}.ant-drawer-left .ant-drawer-content-wrapper,.ant-drawer-right .ant-drawer-content-wrapper{height:100%}.ant-drawer-left.ant-drawer-open,.ant-drawer-right.ant-drawer-open{width:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-left,.ant-drawer-left .ant-drawer-content-wrapper{left:0}.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:6px 0 16px -8px rgba(0,0,0,.32),9px 0 28px 0 rgba(0,0,0,.2),12px 0 48px 16px rgba(0,0,0,.12)}.ant-drawer-right,.ant-drawer-right .ant-drawer-content-wrapper{right:0}.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:-6px 0 16px -8px rgba(0,0,0,.08),-9px 0 28px 0 rgba(0,0,0,.05),-12px 0 48px 16px rgba(0,0,0,.03)}.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper,.header-dropdown{box-shadow:0 6px 16px -8px rgba(0,0,0,.32),0 9px 28px 0 rgba(0,0,0,.2),0 12px 48px 16px rgba(0,0,0,.12)}.ant-drawer-right.ant-drawer-open.no-mask{right:1px;transform:translateX(1px)}.ant-drawer-bottom,.ant-drawer-top{left:0;width:100%;height:0%}.ant-drawer-bottom .ant-drawer-content-wrapper,.ant-drawer-top .ant-drawer-content-wrapper{width:100%}.ant-drawer-bottom.ant-drawer-open,.ant-drawer-top.ant-drawer-open{height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-top{top:0}.ant-drawer-bottom,.ant-drawer-bottom .ant-drawer-content-wrapper{bottom:0}.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:0 -6px 16px -8px rgba(0,0,0,.32),0 -9px 28px 0 rgba(0,0,0,.2),0 -12px 48px 16px rgba(0,0,0,.12)}.ant-drawer-bottom.ant-drawer-open.no-mask{bottom:1px;transform:translateY(1px)}.ant-drawer.ant-drawer-open .ant-drawer-mask{height:100%;opacity:1;transition:none;animation:antdDrawerFadeIn .3s cubic-bezier(.7,.3,.1,1);pointer-events:auto}.ant-drawer-mask,.ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-submenu-title-disabled a{pointer-events:none}.ant-drawer-title{margin:0;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;line-height:22px}.ant-drawer-content{position:relative;z-index:1;overflow:auto;background-color:#1f1f1f;background-clip:padding-box;border:0}.ant-drawer-close{position:absolute;top:0;right:0;z-index:10;display:block;padding:20px;color:rgba(255,255,255,.45);font-weight:700;font-size:16px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s;text-rendering:auto}.ant-drawer .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after,.ant-drawer .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after,.ant-drawer .ant-table.ant-table-bordered tbody>tr>td,.ant-drawer .ant-table.ant-table-bordered tfoot>tr>td,.ant-drawer .ant-table.ant-table-bordered tfoot>tr>th,.ant-drawer .ant-table.ant-table-bordered thead>tr>th,.ant-modal .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after,.ant-modal .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after,.ant-modal .ant-table.ant-table-bordered tbody>tr>td,.ant-modal .ant-table.ant-table-bordered tfoot>tr>td,.ant-modal .ant-table.ant-table-bordered tfoot>tr>th,.ant-modal .ant-table.ant-table-bordered thead>tr>th,.ant-notification .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after,.ant-notification .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after,.ant-notification .ant-table.ant-table-bordered tbody>tr>td,.ant-notification .ant-table.ant-table-bordered tfoot>tr>td,.ant-notification .ant-table.ant-table-bordered tfoot>tr>th,.ant-notification .ant-table.ant-table-bordered thead>tr>th{border-right:1px solid #3a3a3a}.ant-drawer-close:focus,.ant-drawer-close:hover{color:rgba(255,255,255,.75);text-decoration:none}.ant-drawer-header,.ant-drawer-header-no-title{color:rgba(255,255,255,.85);background:#1f1f1f}.ant-drawer-header-no-title .ant-drawer-close{margin-right:var(--scroll-bar);padding-right:calc(20px - var(--scroll-bar))}.ant-drawer-header{position:relative;padding:16px 24px;border-bottom:1px solid #303030;border-radius:2px 2px 0 0}.ant-drawer .ant-table tbody>tr>td,.ant-drawer .ant-table tfoot>tr>td,.ant-drawer .ant-table tfoot>tr>th,.ant-drawer .ant-table thead>tr>th,.ant-drawer .ant-table.ant-table-small thead>tr>th,.ant-drawer .ant-transfer-list-header{border-bottom:1px solid #3a3a3a}.ant-drawer-wrapper-body{display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;height:100%}.ant-drawer-body{flex-grow:1;padding:24px;overflow:auto;font-size:14px;line-height:1.5715;word-wrap:break-word}.ant-drawer-footer{flex-shrink:0;padding:10px 16px;border-top:1px solid #303030}.ant-drawer .ant-table .ant-table-row-expand-icon,.ant-drawer .ant-table.ant-table-bordered .ant-table-title{border:1px solid #3a3a3a}.ant-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0;background-color:rgba(0,0,0,.45);opacity:0;filter:alpha(opacity=45);transition:opacity .3s linear,height 0s ease .3s}.ant-drawer-open-content{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-drawer .ant-picker-clear{background:#1f1f1f}@keyframes antdDrawerFadeIn{0%{opacity:0}100%{opacity:1}}.ant-drawer .ant-anchor-wrapper,.ant-drawer .ant-card,.ant-drawer .ant-collapse-content,.ant-drawer .ant-picker-clear,.ant-drawer .ant-slider-handle,.ant-drawer .ant-timeline-item-head{background-color:#1f1f1f}.ant-drawer .ant-transfer-list-header{background:#1f1f1f}.ant-drawer .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255,255,255,.08)}.ant-drawer tr.ant-table-expanded-row:hover>td,.ant-drawer tr.ant-table-expanded-row>td{background:#272727}.ant-drawer .ant-table,.ant-drawer .ant-table.ant-table-small thead>tr>th{background-color:#1f1f1f}.ant-drawer .ant-table thead>tr>th{background-color:#272727}.ant-drawer .ant-table tbody>tr>td.ant-table-cell-fix-left,.ant-drawer .ant-table tbody>tr>td.ant-table-cell-fix-right{background-color:#1f1f1f}.ant-drawer .ant-table tbody>tr.ant-table-row:hover>td{background:#303030}.ant-drawer .ant-table.ant-table-bordered table thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-drawer .ant-table.ant-table-bordered .ant-table-container,.ant-drawer .ant-table.ant-table-bordered .ant-table-footer{border:1px solid #3a3a3a}.ant-drawer .ant-table .ant-table-filter-trigger-container-open{background-color:#525252}.ant-drawer .ant-picker-calendar-full,.ant-drawer .ant-picker-calendar-full .ant-picker-panel{background-color:#1f1f1f}.ant-drawer .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{border-top:2px solid #3a3a3a}.ant-drawer .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{background-color:#1f1f1f;border-bottom:1px solid #1f1f1f}.ant-drawer .ant-badge-count{box-shadow:0 0 0 1px #1f1f1f}.ant-drawer .ant-tree-show-line .ant-tree-switcher{background:#1f1f1f}.ant-drawer-rtl .ant-drawer-close{right:auto;left:0}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger{color:#a61d24}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover{color:#fff;background-color:#a61d24}.ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;z-index:1050;display:block}.ant-dropdown::before{position:absolute;top:-4px;right:0;bottom:-4px;left:-7px;z-index:-9999;opacity:.0001}.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{right:16px}.ant-dropdown-wrap{position:relative}.ant-dropdown-wrap .ant-btn>.anticon-down{font-size:10px}.ant-dropdown-wrap .anticon-down::before{transition:transform .2s}.ant-dropdown-wrap-open .anticon-down::before{transform:rotate(180deg)}.ant-dropdown-hidden,.ant-dropdown-menu-hidden,.ant-dropdown-menu-submenu-hidden{display:none}.ant-dropdown-show-arrow.ant-dropdown-placement-topCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-topRight{padding-bottom:10px}.ant-dropdown-show-arrow.ant-dropdown-placement-bottomCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight{padding-top:10px}.ant-dropdown-arrow{position:absolute;z-index:1;display:block;width:8.49px;height:8.49px;background:0 0;border-style:solid;border-width:4.24px;transform:rotate(45deg)}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow,.ant-dropdown-placement-topLeft>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:6.2px;box-shadow:3px 3px 7px rgba(0,0,0,.07);border-color:transparent #1f1f1f #1f1f1f transparent}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-topLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow,.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:6px;box-shadow:-2px -2px 5px rgba(0,0,0,.06);border-color:#1f1f1f transparent transparent #1f1f1f}.ant-dropdown-menu,.ant-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-menu{position:relative;margin:0;padding:4px 0;text-align:left;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;outline:0}.ant-dropdown-menu-item-group-title{padding:5px 12px;color:rgba(255,255,255,.45);transition:all .3s}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;box-shadow:none;transform-origin:0 0}.ant-dropdown-menu-submenu-popup li,.ant-dropdown-menu-submenu-popup ul{list-style:none}.ant-dropdown-menu-submenu-popup ul{margin-right:.3em;margin-left:.3em}.ant-dropdown-menu-item{position:relative;display:flex;align-items:center}.ant-dropdown-menu-item-icon{min-width:12px;margin-right:8px;font-size:12px}.ant-dropdown-menu-title-content{flex:auto}.ant-dropdown-menu-title-content>a{color:inherit;transition:all .3s}.ant-dropdown-menu-title-content>a:hover{color:inherit}.ant-dropdown-menu-title-content>a::after{position:absolute;top:0;right:0;bottom:0;left:0;content:''}.ant-dropdown-menu-item,.ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 12px;color:rgba(255,255,255,.85);font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;cursor:pointer;transition:all .3s}.ant-dropdown-menu-item-selected,.ant-dropdown-menu-submenu-title-selected{color:#177ddc;background-color:#111b26}.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover{background-color:rgba(255,255,255,.08)}.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu-title-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(255,255,255,.3);background-color:transparent;cursor:not-allowed}.ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:#303030}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;right:8px}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-right:0!important;color:rgba(255,255,255,.45);font-size:10px;font-style:normal}.ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none}.ant-dropdown-menu-submenu-title{padding-right:24px}.ant-dropdown-menu-submenu-vertical{position:relative}.ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{position:absolute;top:0;left:100%;min-width:100%;margin-left:4px;transform-origin:0 0}.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(255,255,255,.3);background-color:transparent;cursor:not-allowed}.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#177ddc}.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-dropdown-button>.anticon.anticon-down,.ant-dropdown-link>.anticon.anticon-down,.ant-dropdown-trigger>.anticon.anticon-down{font-size:10px;vertical-align:baseline}.ant-dropdown-button{white-space:nowrap}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-right:8px;padding-left:8px}.ant-dropdown-menu-dark,.ant-dropdown-menu-dark .ant-dropdown-menu{background:#1f1f1f}.ant-dropdown-menu-dark .ant-dropdown-menu-item,.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after{color:rgba(255,255,255,.65)}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover{color:#fff;background:0 0}.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected>a{color:#fff;background:#177ddc}.ant-dropdown-rtl.ant-dropdown::before{right:-7px;left:0}.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title{text-align:right}.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl{transform-origin:100% 0}.ant-dropdown-rtl .ant-dropdown-menu-item,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{text-align:right}.ant-dropdown-rtl .ant-dropdown-menu-item>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-item>span>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>span>.anticon:first-child{margin-right:0;margin-left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{right:auto;left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{margin-left:0!important;transform:scaleX(-1)}.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{padding-right:12px;padding-left:24px}.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{right:100%;left:0;margin-right:4px;margin-left:0}.ant-dropdown-menu>ul{list-style:inherit;margin:0;padding:0}.ant-dropdown{top:0;left:0;position:relative;width:100%;margin-top:6px;margin-bottom:6px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{transform:rotate(180deg)}.ant-empty{margin:0 8px;font-size:14px;line-height:1.5715;text-align:center}.ant-empty-image{height:100px;margin-bottom:8px}.ant-empty-image img{height:100%}.ant-empty-image svg{height:100%;margin:auto}.ant-empty-footer{margin-top:16px}.ant-empty-normal{margin:32px 0;color:rgba(255,255,255,.3)}.ant-empty-normal .ant-empty-image{height:40px}.ant-empty-small{margin:8px 0;color:rgba(255,255,255,.3)}.ant-empty-small .ant-empty-image{height:35px}.ant-empty-img-default-ellipse{fill:#fff;fill-opacity:.08}.ant-empty-img-default-path-1{fill:#262626}.ant-empty-img-default-path-2{fill:url(#linearGradient-1)}.ant-empty-img-default-path-3{fill:#595959}.ant-empty-img-default-path-4{fill:#434343}.ant-empty-img-default-path-5{fill:#595959}.ant-empty-img-default-g{fill:#434343}.ant-empty-img-simple-ellipse{fill:#fff;fill-opacity:.08}.ant-empty-img-simple-g{stroke:#434343}.ant-empty-img-simple-path{fill:#262626;stroke:#434343}nz-empty{display:block}.ant-row,.ant-row::after,.ant-row::before{display:flex}.ant-row{flex-flow:row wrap}.ant-col-1,.ant-col-10,.ant-col-11,.ant-col-12,.ant-col-13,.ant-col-14,.ant-col-15,.ant-col-16,.ant-col-17,.ant-col-18,.ant-col-19,.ant-col-2,.ant-col-20,.ant-col-21,.ant-col-22,.ant-col-23,.ant-col-24,.ant-col-3,.ant-col-4,.ant-col-5,.ant-col-6,.ant-col-7,.ant-col-8,.ant-col-9{display:block}.ant-row-no-wrap{flex-wrap:nowrap}.ant-row-start{justify-content:flex-start}.ant-row-center{justify-content:center}.ant-row-end{justify-content:flex-end}.ant-row-space-between{justify-content:space-between}.ant-row-space-around{justify-content:space-around}.ant-row-top,.ant-tree-list-holder-inner{align-items:flex-start}.ant-row-middle{align-items:center}.ant-row-bottom{align-items:flex-end}.ant-col{position:relative;max-width:100%;min-height:1px}.ant-col-24{flex:0 0 100%;max-width:100%}.ant-col-push-24{left:100%}.ant-col-pull-24{right:100%}.ant-col-offset-24{margin-left:100%}.ant-col-order-24{order:24}.ant-col-23{flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-push-23{left:95.83333333%}.ant-col-pull-23{right:95.83333333%}.ant-col-offset-23{margin-left:95.83333333%}.ant-col-order-23{order:23}.ant-col-22{flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-push-22{left:91.66666667%}.ant-col-pull-22{right:91.66666667%}.ant-col-offset-22{margin-left:91.66666667%}.ant-col-order-22{order:22}.ant-col-21{flex:0 0 87.5%;max-width:87.5%}.ant-col-push-21{left:87.5%}.ant-col-pull-21{right:87.5%}.ant-col-offset-21{margin-left:87.5%}.ant-col-order-21{order:21}.ant-col-20{flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-push-20{left:83.33333333%}.ant-col-pull-20{right:83.33333333%}.ant-col-offset-20{margin-left:83.33333333%}.ant-col-order-20{order:20}.ant-col-19{flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-push-19{left:79.16666667%}.ant-col-pull-19{right:79.16666667%}.ant-col-offset-19{margin-left:79.16666667%}.ant-col-order-19{order:19}.ant-col-18{flex:0 0 75%;max-width:75%}.ant-col-push-18{left:75%}.ant-col-pull-18{right:75%}.ant-col-offset-18{margin-left:75%}.ant-col-order-18{order:18}.ant-col-17{flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-push-17{left:70.83333333%}.ant-col-pull-17{right:70.83333333%}.ant-col-offset-17{margin-left:70.83333333%}.ant-col-order-17{order:17}.ant-col-16{flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-push-16{left:66.66666667%}.ant-col-pull-16{right:66.66666667%}.ant-col-offset-16{margin-left:66.66666667%}.ant-col-order-16{order:16}.ant-col-15{flex:0 0 62.5%;max-width:62.5%}.ant-col-push-15{left:62.5%}.ant-col-pull-15{right:62.5%}.ant-col-offset-15{margin-left:62.5%}.ant-col-order-15{order:15}.ant-col-14{flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-push-14{left:58.33333333%}.ant-col-pull-14{right:58.33333333%}.ant-col-offset-14{margin-left:58.33333333%}.ant-col-order-14{order:14}.ant-col-13{flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-push-13{left:54.16666667%}.ant-col-pull-13{right:54.16666667%}.ant-col-offset-13{margin-left:54.16666667%}.ant-col-order-13{order:13}.ant-col-12{flex:0 0 50%;max-width:50%}.ant-col-push-12{left:50%}.ant-col-pull-12{right:50%}.ant-col-offset-12{margin-left:50%}.ant-col-order-12{order:12}.ant-col-11{flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-push-11{left:45.83333333%}.ant-col-pull-11{right:45.83333333%}.ant-col-offset-11{margin-left:45.83333333%}.ant-col-order-11{order:11}.ant-col-10{flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-push-10{left:41.66666667%}.ant-col-pull-10{right:41.66666667%}.ant-col-offset-10{margin-left:41.66666667%}.ant-col-order-10{order:10}.ant-col-9{flex:0 0 37.5%;max-width:37.5%}.ant-col-push-9{left:37.5%}.ant-col-pull-9{right:37.5%}.ant-col-offset-9{margin-left:37.5%}.ant-col-order-9{order:9}.ant-col-8{flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-push-8{left:33.33333333%}.ant-col-pull-8{right:33.33333333%}.ant-col-offset-8{margin-left:33.33333333%}.ant-col-order-8{order:8}.ant-col-7{flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-push-7{left:29.16666667%}.ant-col-pull-7{right:29.16666667%}.ant-col-offset-7{margin-left:29.16666667%}.ant-col-order-7{order:7}.ant-col-6{flex:0 0 25%;max-width:25%}.ant-col-push-6{left:25%}.ant-col-pull-6{right:25%}.ant-col-offset-6{margin-left:25%}.ant-col-order-6{order:6}.ant-col-5{flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-push-5{left:20.83333333%}.ant-col-pull-5{right:20.83333333%}.ant-col-offset-5{margin-left:20.83333333%}.ant-col-order-5{order:5}.ant-col-4{flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-push-4{left:16.66666667%}.ant-col-pull-4{right:16.66666667%}.ant-col-offset-4{margin-left:16.66666667%}.ant-col-order-4{order:4}.ant-col-3{flex:0 0 12.5%;max-width:12.5%}.ant-col-push-3{left:12.5%}.ant-col-pull-3{right:12.5%}.ant-col-offset-3{margin-left:12.5%}.ant-col-order-3{order:3}.ant-col-2{flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-push-2{left:8.33333333%}.ant-col-pull-2{right:8.33333333%}.ant-col-offset-2{margin-left:8.33333333%}.ant-col-order-2{order:2}.ant-col-1{flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-push-1{left:4.16666667%}.ant-col-pull-1{right:4.16666667%}.ant-col-offset-1{margin-left:4.16666667%}.ant-col-order-1{order:1}.ant-col-0{display:none}.ant-col-offset-0{margin-left:0}.ant-col-order-0{order:0}.ant-col-offset-0.ant-col-rtl{margin-right:0}.ant-col-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}.ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xs-push-24{left:100%}.ant-col-xs-pull-24{right:100%}.ant-col-xs-offset-24{margin-left:100%}.ant-col-xs-order-24{order:24}.ant-col-xs-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xs-push-23{left:95.83333333%}.ant-col-xs-pull-23{right:95.83333333%}.ant-col-xs-offset-23{margin-left:95.83333333%}.ant-col-xs-order-23{order:23}.ant-col-xs-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xs-push-22{left:91.66666667%}.ant-col-xs-pull-22{right:91.66666667%}.ant-col-xs-offset-22{margin-left:91.66666667%}.ant-col-xs-order-22{order:22}.ant-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xs-push-21{left:87.5%}.ant-col-xs-pull-21{right:87.5%}.ant-col-xs-offset-21{margin-left:87.5%}.ant-col-xs-order-21{order:21}.ant-col-xs-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xs-push-20{left:83.33333333%}.ant-col-xs-pull-20{right:83.33333333%}.ant-col-xs-offset-20{margin-left:83.33333333%}.ant-col-xs-order-20{order:20}.ant-col-xs-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xs-push-19{left:79.16666667%}.ant-col-xs-pull-19{right:79.16666667%}.ant-col-xs-offset-19{margin-left:79.16666667%}.ant-col-xs-order-19{order:19}.ant-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xs-push-18{left:75%}.ant-col-xs-pull-18{right:75%}.ant-col-xs-offset-18{margin-left:75%}.ant-col-xs-order-18{order:18}.ant-col-xs-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xs-push-17{left:70.83333333%}.ant-col-xs-pull-17{right:70.83333333%}.ant-col-xs-offset-17{margin-left:70.83333333%}.ant-col-xs-order-17{order:17}.ant-col-xs-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xs-push-16{left:66.66666667%}.ant-col-xs-pull-16{right:66.66666667%}.ant-col-xs-offset-16{margin-left:66.66666667%}.ant-col-xs-order-16{order:16}.ant-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xs-push-15{left:62.5%}.ant-col-xs-pull-15{right:62.5%}.ant-col-xs-offset-15{margin-left:62.5%}.ant-col-xs-order-15{order:15}.ant-col-xs-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xs-push-14{left:58.33333333%}.ant-col-xs-pull-14{right:58.33333333%}.ant-col-xs-offset-14{margin-left:58.33333333%}.ant-col-xs-order-14{order:14}.ant-col-xs-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xs-push-13{left:54.16666667%}.ant-col-xs-pull-13{right:54.16666667%}.ant-col-xs-offset-13{margin-left:54.16666667%}.ant-col-xs-order-13{order:13}.ant-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xs-push-12{left:50%}.ant-col-xs-pull-12{right:50%}.ant-col-xs-offset-12{margin-left:50%}.ant-col-xs-order-12{order:12}.ant-col-xs-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xs-push-11{left:45.83333333%}.ant-col-xs-pull-11{right:45.83333333%}.ant-col-xs-offset-11{margin-left:45.83333333%}.ant-col-xs-order-11{order:11}.ant-col-xs-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xs-push-10{left:41.66666667%}.ant-col-xs-pull-10{right:41.66666667%}.ant-col-xs-offset-10{margin-left:41.66666667%}.ant-col-xs-order-10{order:10}.ant-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xs-push-9{left:37.5%}.ant-col-xs-pull-9{right:37.5%}.ant-col-xs-offset-9{margin-left:37.5%}.ant-col-xs-order-9{order:9}.ant-col-xs-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xs-push-8{left:33.33333333%}.ant-col-xs-pull-8{right:33.33333333%}.ant-col-xs-offset-8{margin-left:33.33333333%}.ant-col-xs-order-8{order:8}.ant-col-xs-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xs-push-7{left:29.16666667%}.ant-col-xs-pull-7{right:29.16666667%}.ant-col-xs-offset-7{margin-left:29.16666667%}.ant-col-xs-order-7{order:7}.ant-col-xs-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xs-push-6{left:25%}.ant-col-xs-pull-6{right:25%}.ant-col-xs-offset-6{margin-left:25%}.ant-col-xs-order-6{order:6}.ant-col-xs-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xs-push-5{left:20.83333333%}.ant-col-xs-pull-5{right:20.83333333%}.ant-col-xs-offset-5{margin-left:20.83333333%}.ant-col-xs-order-5{order:5}.ant-col-xs-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xs-push-4{left:16.66666667%}.ant-col-xs-pull-4{right:16.66666667%}.ant-col-xs-offset-4{margin-left:16.66666667%}.ant-col-xs-order-4{order:4}.ant-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xs-push-3{left:12.5%}.ant-col-xs-pull-3{right:12.5%}.ant-col-xs-offset-3{margin-left:12.5%}.ant-col-xs-order-3{order:3}.ant-col-xs-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xs-push-2{left:8.33333333%}.ant-col-xs-pull-2{right:8.33333333%}.ant-col-xs-offset-2{margin-left:8.33333333%}.ant-col-xs-order-2{order:2}.ant-col-xs-order-1,.ant-layout-sider-right,.ant-tabs-rtl.ant-tabs-left>.ant-tabs-nav{order:1}.ant-col-xs-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xs-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xs-pull-0.ant-col-rtl,.ant-col-xs-push-0,.ant-col-xs-push-1.ant-col-rtl{left:auto}.ant-col-xs-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xs-pull-0,.ant-col-xs-push-0.ant-col-rtl{right:auto}.ant-col-xs-offset-1{margin-left:4.16666667%}.ant-col-xs-0{display:none}.ant-col-xs-offset-0{margin-left:0}.ant-col-xs-order-0{order:0}.ant-col-xs-offset-0.ant-col-rtl{margin-right:0}.ant-col-xs-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xs-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xs-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xs-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xs-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xs-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xs-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xs-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xs-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xs-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xs-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xs-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xs-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xs-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xs-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xs-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xs-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xs-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xs-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xs-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xs-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xs-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xs-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xs-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xs-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xs-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xs-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xs-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xs-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xs-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xs-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xs-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xs-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xs-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xs-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xs-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xs-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xs-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xs-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xs-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xs-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xs-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xs-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xs-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xs-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xs-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xs-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xs-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xs-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xs-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xs-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xs-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xs-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xs-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xs-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xs-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xs-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xs-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xs-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xs-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xs-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xs-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xs-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xs-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xs-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xs-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xs-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xs-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xs-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xs-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xs-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xs-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}@media (min-width:576px){.ant-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-sm-push-24{left:100%}.ant-col-sm-pull-24{right:100%}.ant-col-sm-offset-24{margin-left:100%}.ant-col-sm-order-24{order:24}.ant-col-sm-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-sm-push-23{left:95.83333333%}.ant-col-sm-pull-23{right:95.83333333%}.ant-col-sm-offset-23{margin-left:95.83333333%}.ant-col-sm-order-23{order:23}.ant-col-sm-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-sm-push-22{left:91.66666667%}.ant-col-sm-pull-22{right:91.66666667%}.ant-col-sm-offset-22{margin-left:91.66666667%}.ant-col-sm-order-22{order:22}.ant-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-sm-push-21{left:87.5%}.ant-col-sm-pull-21{right:87.5%}.ant-col-sm-offset-21{margin-left:87.5%}.ant-col-sm-order-21{order:21}.ant-col-sm-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-sm-push-20{left:83.33333333%}.ant-col-sm-pull-20{right:83.33333333%}.ant-col-sm-offset-20{margin-left:83.33333333%}.ant-col-sm-order-20{order:20}.ant-col-sm-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-sm-push-19{left:79.16666667%}.ant-col-sm-pull-19{right:79.16666667%}.ant-col-sm-offset-19{margin-left:79.16666667%}.ant-col-sm-order-19{order:19}.ant-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-sm-push-18{left:75%}.ant-col-sm-pull-18{right:75%}.ant-col-sm-offset-18{margin-left:75%}.ant-col-sm-order-18{order:18}.ant-col-sm-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-sm-push-17{left:70.83333333%}.ant-col-sm-pull-17{right:70.83333333%}.ant-col-sm-offset-17{margin-left:70.83333333%}.ant-col-sm-order-17{order:17}.ant-col-sm-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-sm-push-16{left:66.66666667%}.ant-col-sm-pull-16{right:66.66666667%}.ant-col-sm-offset-16{margin-left:66.66666667%}.ant-col-sm-order-16{order:16}.ant-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-sm-push-15{left:62.5%}.ant-col-sm-pull-15{right:62.5%}.ant-col-sm-offset-15{margin-left:62.5%}.ant-col-sm-order-15{order:15}.ant-col-sm-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-sm-push-14{left:58.33333333%}.ant-col-sm-pull-14{right:58.33333333%}.ant-col-sm-offset-14{margin-left:58.33333333%}.ant-col-sm-order-14{order:14}.ant-col-sm-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-sm-push-13{left:54.16666667%}.ant-col-sm-pull-13{right:54.16666667%}.ant-col-sm-offset-13{margin-left:54.16666667%}.ant-col-sm-order-13{order:13}.ant-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-sm-push-12{left:50%}.ant-col-sm-pull-12{right:50%}.ant-col-sm-offset-12{margin-left:50%}.ant-col-sm-order-12{order:12}.ant-col-sm-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-sm-push-11{left:45.83333333%}.ant-col-sm-pull-11{right:45.83333333%}.ant-col-sm-offset-11{margin-left:45.83333333%}.ant-col-sm-order-11{order:11}.ant-col-sm-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-sm-push-10{left:41.66666667%}.ant-col-sm-pull-10{right:41.66666667%}.ant-col-sm-offset-10{margin-left:41.66666667%}.ant-col-sm-order-10{order:10}.ant-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-sm-push-9{left:37.5%}.ant-col-sm-pull-9{right:37.5%}.ant-col-sm-offset-9{margin-left:37.5%}.ant-col-sm-order-9{order:9}.ant-col-sm-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-sm-push-8{left:33.33333333%}.ant-col-sm-pull-8{right:33.33333333%}.ant-col-sm-offset-8{margin-left:33.33333333%}.ant-col-sm-order-8{order:8}.ant-col-sm-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-sm-push-7{left:29.16666667%}.ant-col-sm-pull-7{right:29.16666667%}.ant-col-sm-offset-7{margin-left:29.16666667%}.ant-col-sm-order-7{order:7}.ant-col-sm-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-sm-push-6{left:25%}.ant-col-sm-pull-6{right:25%}.ant-col-sm-offset-6{margin-left:25%}.ant-col-sm-order-6{order:6}.ant-col-sm-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-sm-push-5{left:20.83333333%}.ant-col-sm-pull-5{right:20.83333333%}.ant-col-sm-offset-5{margin-left:20.83333333%}.ant-col-sm-order-5{order:5}.ant-col-sm-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-sm-push-4{left:16.66666667%}.ant-col-sm-pull-4{right:16.66666667%}.ant-col-sm-offset-4{margin-left:16.66666667%}.ant-col-sm-order-4{order:4}.ant-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-sm-push-3{left:12.5%}.ant-col-sm-pull-3{right:12.5%}.ant-col-sm-offset-3{margin-left:12.5%}.ant-col-sm-order-3{order:3}.ant-col-sm-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-sm-push-2{left:8.33333333%}.ant-col-sm-pull-2{right:8.33333333%}.ant-col-sm-offset-2{margin-left:8.33333333%}.ant-col-sm-order-2{order:2}.ant-col-sm-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-sm-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-sm-pull-0.ant-col-rtl,.ant-col-sm-push-0,.ant-col-sm-push-1.ant-col-rtl{left:auto}.ant-col-sm-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-sm-pull-0,.ant-col-sm-push-0.ant-col-rtl{right:auto}.ant-col-sm-offset-1{margin-left:4.16666667%}.ant-col-sm-order-1{order:1}.ant-col-sm-0{display:none}.ant-col-sm-offset-0{margin-left:0}.ant-col-sm-order-0{order:0}.ant-col-sm-offset-0.ant-col-rtl{margin-right:0}.ant-col-sm-push-1.ant-col-rtl{right:4.16666667%}.ant-col-sm-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-sm-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-sm-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-sm-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-sm-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-sm-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-sm-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-sm-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-sm-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-sm-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-sm-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-sm-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-sm-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-sm-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-sm-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-sm-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-sm-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-sm-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-sm-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-sm-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-sm-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-sm-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-sm-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-sm-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-sm-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-sm-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-sm-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-sm-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-sm-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-sm-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-sm-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-sm-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-sm-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-sm-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-sm-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-sm-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-sm-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-sm-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-sm-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-sm-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-sm-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-sm-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-sm-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-sm-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-sm-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-sm-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-sm-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-sm-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-sm-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-sm-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-sm-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-sm-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-sm-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-sm-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-sm-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-sm-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-sm-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-sm-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-sm-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-sm-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-sm-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-sm-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-sm-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-sm-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-sm-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-sm-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-sm-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-sm-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-sm-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-sm-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-sm-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:768px){.ant-col-md-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-md-push-24{left:100%}.ant-col-md-pull-24{right:100%}.ant-col-md-offset-24{margin-left:100%}.ant-col-md-order-24{order:24}.ant-col-md-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-md-push-23{left:95.83333333%}.ant-col-md-pull-23{right:95.83333333%}.ant-col-md-offset-23{margin-left:95.83333333%}.ant-col-md-order-23{order:23}.ant-col-md-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-md-push-22{left:91.66666667%}.ant-col-md-pull-22{right:91.66666667%}.ant-col-md-offset-22{margin-left:91.66666667%}.ant-col-md-order-22{order:22}.ant-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-md-push-21{left:87.5%}.ant-col-md-pull-21{right:87.5%}.ant-col-md-offset-21{margin-left:87.5%}.ant-col-md-order-21{order:21}.ant-col-md-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-md-push-20{left:83.33333333%}.ant-col-md-pull-20{right:83.33333333%}.ant-col-md-offset-20{margin-left:83.33333333%}.ant-col-md-order-20{order:20}.ant-col-md-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-md-push-19{left:79.16666667%}.ant-col-md-pull-19{right:79.16666667%}.ant-col-md-offset-19{margin-left:79.16666667%}.ant-col-md-order-19{order:19}.ant-col-md-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-md-push-18{left:75%}.ant-col-md-pull-18{right:75%}.ant-col-md-offset-18{margin-left:75%}.ant-col-md-order-18{order:18}.ant-col-md-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-md-push-17{left:70.83333333%}.ant-col-md-pull-17{right:70.83333333%}.ant-col-md-offset-17{margin-left:70.83333333%}.ant-col-md-order-17{order:17}.ant-col-md-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-md-push-16{left:66.66666667%}.ant-col-md-pull-16{right:66.66666667%}.ant-col-md-offset-16{margin-left:66.66666667%}.ant-col-md-order-16{order:16}.ant-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-md-push-15{left:62.5%}.ant-col-md-pull-15{right:62.5%}.ant-col-md-offset-15{margin-left:62.5%}.ant-col-md-order-15{order:15}.ant-col-md-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-md-push-14{left:58.33333333%}.ant-col-md-pull-14{right:58.33333333%}.ant-col-md-offset-14{margin-left:58.33333333%}.ant-col-md-order-14{order:14}.ant-col-md-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-md-push-13{left:54.16666667%}.ant-col-md-pull-13{right:54.16666667%}.ant-col-md-offset-13{margin-left:54.16666667%}.ant-col-md-order-13{order:13}.ant-col-md-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-md-push-12{left:50%}.ant-col-md-pull-12{right:50%}.ant-col-md-offset-12{margin-left:50%}.ant-col-md-order-12{order:12}.ant-col-md-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-md-push-11{left:45.83333333%}.ant-col-md-pull-11{right:45.83333333%}.ant-col-md-offset-11{margin-left:45.83333333%}.ant-col-md-order-11{order:11}.ant-col-md-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-md-push-10{left:41.66666667%}.ant-col-md-pull-10{right:41.66666667%}.ant-col-md-offset-10{margin-left:41.66666667%}.ant-col-md-order-10{order:10}.ant-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-md-push-9{left:37.5%}.ant-col-md-pull-9{right:37.5%}.ant-col-md-offset-9{margin-left:37.5%}.ant-col-md-order-9{order:9}.ant-col-md-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-md-push-8{left:33.33333333%}.ant-col-md-pull-8{right:33.33333333%}.ant-col-md-offset-8{margin-left:33.33333333%}.ant-col-md-order-8{order:8}.ant-col-md-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-md-push-7{left:29.16666667%}.ant-col-md-pull-7{right:29.16666667%}.ant-col-md-offset-7{margin-left:29.16666667%}.ant-col-md-order-7{order:7}.ant-col-md-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-md-push-6{left:25%}.ant-col-md-pull-6{right:25%}.ant-col-md-offset-6{margin-left:25%}.ant-col-md-order-6{order:6}.ant-col-md-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-md-push-5{left:20.83333333%}.ant-col-md-pull-5{right:20.83333333%}.ant-col-md-offset-5{margin-left:20.83333333%}.ant-col-md-order-5{order:5}.ant-col-md-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-md-push-4{left:16.66666667%}.ant-col-md-pull-4{right:16.66666667%}.ant-col-md-offset-4{margin-left:16.66666667%}.ant-col-md-order-4{order:4}.ant-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-md-push-3{left:12.5%}.ant-col-md-pull-3{right:12.5%}.ant-col-md-offset-3{margin-left:12.5%}.ant-col-md-order-3{order:3}.ant-col-md-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-md-push-2{left:8.33333333%}.ant-col-md-pull-2{right:8.33333333%}.ant-col-md-offset-2{margin-left:8.33333333%}.ant-col-md-order-2{order:2}.ant-col-md-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-md-push-1{left:4.16666667%}.ant-col-md-pull-0.ant-col-rtl,.ant-col-md-push-0,.ant-col-md-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-md-pull-1{right:4.16666667%}.ant-col-md-pull-0,.ant-col-md-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-md-offset-1{margin-left:4.16666667%}.ant-col-md-order-1{order:1}.ant-col-md-0{display:none}.ant-col-md-offset-0{margin-left:0}.ant-col-md-order-0{order:0}.ant-col-md-offset-0.ant-col-rtl{margin-right:0}.ant-col-md-push-1.ant-col-rtl{right:4.16666667%}.ant-col-md-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-md-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-md-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-md-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-md-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-md-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-md-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-md-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-md-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-md-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-md-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-md-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-md-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-md-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-md-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-md-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-md-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-md-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-md-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-md-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-md-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-md-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-md-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-md-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-md-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-md-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-md-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-md-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-md-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-md-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-md-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-md-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-md-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-md-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-md-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-md-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-md-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-md-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-md-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-md-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-md-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-md-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-md-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-md-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-md-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-md-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-md-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-md-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-md-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-md-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-md-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-md-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-md-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-md-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-md-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-md-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-md-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-md-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-md-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-md-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-md-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-md-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-md-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-md-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-md-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-md-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-md-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-md-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-md-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-md-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-md-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:992px){.ant-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-lg-push-24{left:100%}.ant-col-lg-pull-24{right:100%}.ant-col-lg-offset-24{margin-left:100%}.ant-col-lg-order-24{order:24}.ant-col-lg-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-lg-push-23{left:95.83333333%}.ant-col-lg-pull-23{right:95.83333333%}.ant-col-lg-offset-23{margin-left:95.83333333%}.ant-col-lg-order-23{order:23}.ant-col-lg-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-lg-push-22{left:91.66666667%}.ant-col-lg-pull-22{right:91.66666667%}.ant-col-lg-offset-22{margin-left:91.66666667%}.ant-col-lg-order-22{order:22}.ant-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-lg-push-21{left:87.5%}.ant-col-lg-pull-21{right:87.5%}.ant-col-lg-offset-21{margin-left:87.5%}.ant-col-lg-order-21{order:21}.ant-col-lg-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-lg-push-20{left:83.33333333%}.ant-col-lg-pull-20{right:83.33333333%}.ant-col-lg-offset-20{margin-left:83.33333333%}.ant-col-lg-order-20{order:20}.ant-col-lg-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-lg-push-19{left:79.16666667%}.ant-col-lg-pull-19{right:79.16666667%}.ant-col-lg-offset-19{margin-left:79.16666667%}.ant-col-lg-order-19{order:19}.ant-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-lg-push-18{left:75%}.ant-col-lg-pull-18{right:75%}.ant-col-lg-offset-18{margin-left:75%}.ant-col-lg-order-18{order:18}.ant-col-lg-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-lg-push-17{left:70.83333333%}.ant-col-lg-pull-17{right:70.83333333%}.ant-col-lg-offset-17{margin-left:70.83333333%}.ant-col-lg-order-17{order:17}.ant-col-lg-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-lg-push-16{left:66.66666667%}.ant-col-lg-pull-16{right:66.66666667%}.ant-col-lg-offset-16{margin-left:66.66666667%}.ant-col-lg-order-16{order:16}.ant-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-lg-push-15{left:62.5%}.ant-col-lg-pull-15{right:62.5%}.ant-col-lg-offset-15{margin-left:62.5%}.ant-col-lg-order-15{order:15}.ant-col-lg-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-lg-push-14{left:58.33333333%}.ant-col-lg-pull-14{right:58.33333333%}.ant-col-lg-offset-14{margin-left:58.33333333%}.ant-col-lg-order-14{order:14}.ant-col-lg-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-lg-push-13{left:54.16666667%}.ant-col-lg-pull-13{right:54.16666667%}.ant-col-lg-offset-13{margin-left:54.16666667%}.ant-col-lg-order-13{order:13}.ant-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-lg-push-12{left:50%}.ant-col-lg-pull-12{right:50%}.ant-col-lg-offset-12{margin-left:50%}.ant-col-lg-order-12{order:12}.ant-col-lg-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-lg-push-11{left:45.83333333%}.ant-col-lg-pull-11{right:45.83333333%}.ant-col-lg-offset-11{margin-left:45.83333333%}.ant-col-lg-order-11{order:11}.ant-col-lg-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-lg-push-10{left:41.66666667%}.ant-col-lg-pull-10{right:41.66666667%}.ant-col-lg-offset-10{margin-left:41.66666667%}.ant-col-lg-order-10{order:10}.ant-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-lg-push-9{left:37.5%}.ant-col-lg-pull-9{right:37.5%}.ant-col-lg-offset-9{margin-left:37.5%}.ant-col-lg-order-9{order:9}.ant-col-lg-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-lg-push-8{left:33.33333333%}.ant-col-lg-pull-8{right:33.33333333%}.ant-col-lg-offset-8{margin-left:33.33333333%}.ant-col-lg-order-8{order:8}.ant-col-lg-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-lg-push-7{left:29.16666667%}.ant-col-lg-pull-7{right:29.16666667%}.ant-col-lg-offset-7{margin-left:29.16666667%}.ant-col-lg-order-7{order:7}.ant-col-lg-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-lg-push-6{left:25%}.ant-col-lg-pull-6{right:25%}.ant-col-lg-offset-6{margin-left:25%}.ant-col-lg-order-6{order:6}.ant-col-lg-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-lg-push-5{left:20.83333333%}.ant-col-lg-pull-5{right:20.83333333%}.ant-col-lg-offset-5{margin-left:20.83333333%}.ant-col-lg-order-5{order:5}.ant-col-lg-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-lg-push-4{left:16.66666667%}.ant-col-lg-pull-4{right:16.66666667%}.ant-col-lg-offset-4{margin-left:16.66666667%}.ant-col-lg-order-4{order:4}.ant-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-lg-push-3{left:12.5%}.ant-col-lg-pull-3{right:12.5%}.ant-col-lg-offset-3{margin-left:12.5%}.ant-col-lg-order-3{order:3}.ant-col-lg-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-lg-push-2{left:8.33333333%}.ant-col-lg-pull-2{right:8.33333333%}.ant-col-lg-offset-2{margin-left:8.33333333%}.ant-col-lg-order-2{order:2}.ant-col-lg-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-lg-push-1{left:4.16666667%}.ant-col-lg-pull-0.ant-col-rtl,.ant-col-lg-push-0,.ant-col-lg-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-lg-pull-1{right:4.16666667%}.ant-col-lg-pull-0,.ant-col-lg-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-lg-offset-1{margin-left:4.16666667%}.ant-col-lg-order-1{order:1}.ant-col-lg-0{display:none}.ant-col-lg-offset-0{margin-left:0}.ant-col-lg-order-0{order:0}.ant-col-lg-offset-0.ant-col-rtl{margin-right:0}.ant-col-lg-push-1.ant-col-rtl{right:4.16666667%}.ant-col-lg-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-lg-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-lg-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-lg-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-lg-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-lg-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-lg-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-lg-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-lg-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-lg-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-lg-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-lg-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-lg-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-lg-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-lg-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-lg-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-lg-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-lg-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-lg-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-lg-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-lg-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-lg-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-lg-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-lg-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-lg-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-lg-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-lg-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-lg-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-lg-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-lg-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-lg-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-lg-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-lg-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-lg-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-lg-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-lg-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-lg-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-lg-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-lg-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-lg-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-lg-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-lg-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-lg-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-lg-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-lg-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-lg-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-lg-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-lg-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-lg-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-lg-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-lg-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-lg-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-lg-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-lg-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-lg-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-lg-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-lg-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-lg-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-lg-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-lg-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-lg-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-lg-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-lg-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-lg-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-lg-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-lg-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-lg-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-lg-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-lg-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-lg-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-lg-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1200px){.ant-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xl-push-24{left:100%}.ant-col-xl-pull-24{right:100%}.ant-col-xl-offset-24{margin-left:100%}.ant-col-xl-order-24{order:24}.ant-col-xl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xl-push-23{left:95.83333333%}.ant-col-xl-pull-23{right:95.83333333%}.ant-col-xl-offset-23{margin-left:95.83333333%}.ant-col-xl-order-23{order:23}.ant-col-xl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xl-push-22{left:91.66666667%}.ant-col-xl-pull-22{right:91.66666667%}.ant-col-xl-offset-22{margin-left:91.66666667%}.ant-col-xl-order-22{order:22}.ant-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xl-push-21{left:87.5%}.ant-col-xl-pull-21{right:87.5%}.ant-col-xl-offset-21{margin-left:87.5%}.ant-col-xl-order-21{order:21}.ant-col-xl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xl-push-20{left:83.33333333%}.ant-col-xl-pull-20{right:83.33333333%}.ant-col-xl-offset-20{margin-left:83.33333333%}.ant-col-xl-order-20{order:20}.ant-col-xl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xl-push-19{left:79.16666667%}.ant-col-xl-pull-19{right:79.16666667%}.ant-col-xl-offset-19{margin-left:79.16666667%}.ant-col-xl-order-19{order:19}.ant-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xl-push-18{left:75%}.ant-col-xl-pull-18{right:75%}.ant-col-xl-offset-18{margin-left:75%}.ant-col-xl-order-18{order:18}.ant-col-xl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xl-push-17{left:70.83333333%}.ant-col-xl-pull-17{right:70.83333333%}.ant-col-xl-offset-17{margin-left:70.83333333%}.ant-col-xl-order-17{order:17}.ant-col-xl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xl-push-16{left:66.66666667%}.ant-col-xl-pull-16{right:66.66666667%}.ant-col-xl-offset-16{margin-left:66.66666667%}.ant-col-xl-order-16{order:16}.ant-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xl-push-15{left:62.5%}.ant-col-xl-pull-15{right:62.5%}.ant-col-xl-offset-15{margin-left:62.5%}.ant-col-xl-order-15{order:15}.ant-col-xl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xl-push-14{left:58.33333333%}.ant-col-xl-pull-14{right:58.33333333%}.ant-col-xl-offset-14{margin-left:58.33333333%}.ant-col-xl-order-14{order:14}.ant-col-xl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xl-push-13{left:54.16666667%}.ant-col-xl-pull-13{right:54.16666667%}.ant-col-xl-offset-13{margin-left:54.16666667%}.ant-col-xl-order-13{order:13}.ant-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xl-push-12{left:50%}.ant-col-xl-pull-12{right:50%}.ant-col-xl-offset-12{margin-left:50%}.ant-col-xl-order-12{order:12}.ant-col-xl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xl-push-11{left:45.83333333%}.ant-col-xl-pull-11{right:45.83333333%}.ant-col-xl-offset-11{margin-left:45.83333333%}.ant-col-xl-order-11{order:11}.ant-col-xl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xl-push-10{left:41.66666667%}.ant-col-xl-pull-10{right:41.66666667%}.ant-col-xl-offset-10{margin-left:41.66666667%}.ant-col-xl-order-10{order:10}.ant-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xl-push-9{left:37.5%}.ant-col-xl-pull-9{right:37.5%}.ant-col-xl-offset-9{margin-left:37.5%}.ant-col-xl-order-9{order:9}.ant-col-xl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xl-push-8{left:33.33333333%}.ant-col-xl-pull-8{right:33.33333333%}.ant-col-xl-offset-8{margin-left:33.33333333%}.ant-col-xl-order-8{order:8}.ant-col-xl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xl-push-7{left:29.16666667%}.ant-col-xl-pull-7{right:29.16666667%}.ant-col-xl-offset-7{margin-left:29.16666667%}.ant-col-xl-order-7{order:7}.ant-col-xl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xl-push-6{left:25%}.ant-col-xl-pull-6{right:25%}.ant-col-xl-offset-6{margin-left:25%}.ant-col-xl-order-6{order:6}.ant-col-xl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xl-push-5{left:20.83333333%}.ant-col-xl-pull-5{right:20.83333333%}.ant-col-xl-offset-5{margin-left:20.83333333%}.ant-col-xl-order-5{order:5}.ant-col-xl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xl-push-4{left:16.66666667%}.ant-col-xl-pull-4{right:16.66666667%}.ant-col-xl-offset-4{margin-left:16.66666667%}.ant-col-xl-order-4{order:4}.ant-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xl-push-3{left:12.5%}.ant-col-xl-pull-3{right:12.5%}.ant-col-xl-offset-3{margin-left:12.5%}.ant-col-xl-order-3{order:3}.ant-col-xl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xl-push-2{left:8.33333333%}.ant-col-xl-pull-2{right:8.33333333%}.ant-col-xl-offset-2{margin-left:8.33333333%}.ant-col-xl-order-2{order:2}.ant-col-xl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xl-pull-0.ant-col-rtl,.ant-col-xl-push-0,.ant-col-xl-push-1.ant-col-rtl{left:auto}.ant-col-xl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xl-pull-0,.ant-col-xl-push-0.ant-col-rtl{right:auto}.ant-col-xl-offset-1{margin-left:4.16666667%}.ant-col-xl-order-1{order:1}.ant-col-xl-0{display:none}.ant-col-xl-offset-0{margin-left:0}.ant-col-xl-order-0{order:0}.ant-col-xl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1600px){.ant-col-xxl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xxl-push-24{left:100%}.ant-col-xxl-pull-24{right:100%}.ant-col-xxl-offset-24{margin-left:100%}.ant-col-xxl-order-24{order:24}.ant-col-xxl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xxl-push-23{left:95.83333333%}.ant-col-xxl-pull-23{right:95.83333333%}.ant-col-xxl-offset-23{margin-left:95.83333333%}.ant-col-xxl-order-23{order:23}.ant-col-xxl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xxl-push-22{left:91.66666667%}.ant-col-xxl-pull-22{right:91.66666667%}.ant-col-xxl-offset-22{margin-left:91.66666667%}.ant-col-xxl-order-22{order:22}.ant-col-xxl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xxl-push-21{left:87.5%}.ant-col-xxl-pull-21{right:87.5%}.ant-col-xxl-offset-21{margin-left:87.5%}.ant-col-xxl-order-21{order:21}.ant-col-xxl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xxl-push-20{left:83.33333333%}.ant-col-xxl-pull-20{right:83.33333333%}.ant-col-xxl-offset-20{margin-left:83.33333333%}.ant-col-xxl-order-20{order:20}.ant-col-xxl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xxl-push-19{left:79.16666667%}.ant-col-xxl-pull-19{right:79.16666667%}.ant-col-xxl-offset-19{margin-left:79.16666667%}.ant-col-xxl-order-19{order:19}.ant-col-xxl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xxl-push-18{left:75%}.ant-col-xxl-pull-18{right:75%}.ant-col-xxl-offset-18{margin-left:75%}.ant-col-xxl-order-18{order:18}.ant-col-xxl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xxl-push-17{left:70.83333333%}.ant-col-xxl-pull-17{right:70.83333333%}.ant-col-xxl-offset-17{margin-left:70.83333333%}.ant-col-xxl-order-17{order:17}.ant-col-xxl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xxl-push-16{left:66.66666667%}.ant-col-xxl-pull-16{right:66.66666667%}.ant-col-xxl-offset-16{margin-left:66.66666667%}.ant-col-xxl-order-16{order:16}.ant-col-xxl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xxl-push-15{left:62.5%}.ant-col-xxl-pull-15{right:62.5%}.ant-col-xxl-offset-15{margin-left:62.5%}.ant-col-xxl-order-15{order:15}.ant-col-xxl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xxl-push-14{left:58.33333333%}.ant-col-xxl-pull-14{right:58.33333333%}.ant-col-xxl-offset-14{margin-left:58.33333333%}.ant-col-xxl-order-14{order:14}.ant-col-xxl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xxl-push-13{left:54.16666667%}.ant-col-xxl-pull-13{right:54.16666667%}.ant-col-xxl-offset-13{margin-left:54.16666667%}.ant-col-xxl-order-13{order:13}.ant-col-xxl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xxl-push-12{left:50%}.ant-col-xxl-pull-12{right:50%}.ant-col-xxl-offset-12{margin-left:50%}.ant-col-xxl-order-12{order:12}.ant-col-xxl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xxl-push-11{left:45.83333333%}.ant-col-xxl-pull-11{right:45.83333333%}.ant-col-xxl-offset-11{margin-left:45.83333333%}.ant-col-xxl-order-11{order:11}.ant-col-xxl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xxl-push-10{left:41.66666667%}.ant-col-xxl-pull-10{right:41.66666667%}.ant-col-xxl-offset-10{margin-left:41.66666667%}.ant-col-xxl-order-10{order:10}.ant-col-xxl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xxl-push-9{left:37.5%}.ant-col-xxl-pull-9{right:37.5%}.ant-col-xxl-offset-9{margin-left:37.5%}.ant-col-xxl-order-9{order:9}.ant-col-xxl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xxl-push-8{left:33.33333333%}.ant-col-xxl-pull-8{right:33.33333333%}.ant-col-xxl-offset-8{margin-left:33.33333333%}.ant-col-xxl-order-8{order:8}.ant-col-xxl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xxl-push-7{left:29.16666667%}.ant-col-xxl-pull-7{right:29.16666667%}.ant-col-xxl-offset-7{margin-left:29.16666667%}.ant-col-xxl-order-7{order:7}.ant-col-xxl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xxl-push-6{left:25%}.ant-col-xxl-pull-6{right:25%}.ant-col-xxl-offset-6{margin-left:25%}.ant-col-xxl-order-6{order:6}.ant-col-xxl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xxl-push-5{left:20.83333333%}.ant-col-xxl-pull-5{right:20.83333333%}.ant-col-xxl-offset-5{margin-left:20.83333333%}.ant-col-xxl-order-5{order:5}.ant-col-xxl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xxl-push-4{left:16.66666667%}.ant-col-xxl-pull-4{right:16.66666667%}.ant-col-xxl-offset-4{margin-left:16.66666667%}.ant-col-xxl-order-4{order:4}.ant-col-xxl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xxl-push-3{left:12.5%}.ant-col-xxl-pull-3{right:12.5%}.ant-col-xxl-offset-3{margin-left:12.5%}.ant-col-xxl-order-3{order:3}.ant-col-xxl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xxl-push-2{left:8.33333333%}.ant-col-xxl-pull-2{right:8.33333333%}.ant-col-xxl-offset-2{margin-left:8.33333333%}.ant-col-xxl-order-2{order:2}.ant-col-xxl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xxl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xxl-pull-0.ant-col-rtl,.ant-col-xxl-push-0,.ant-col-xxl-push-1.ant-col-rtl{left:auto}.ant-col-xxl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xxl-pull-0,.ant-col-xxl-push-0.ant-col-rtl{right:auto}.ant-col-xxl-offset-1{margin-left:4.16666667%}.ant-col-xxl-order-1{order:1}.ant-col-xxl-0{display:none}.ant-col-xxl-offset-0{margin-left:0}.ant-col-xxl-order-0{order:0}.ant-col-xxl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xxl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xxl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xxl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xxl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xxl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xxl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xxl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xxl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xxl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xxl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xxl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xxl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xxl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xxl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xxl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xxl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xxl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xxl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xxl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xxl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xxl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xxl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xxl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xxl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xxl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xxl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xxl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xxl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xxl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xxl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xxl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xxl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xxl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xxl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xxl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xxl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xxl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xxl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xxl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xxl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xxl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xxl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xxl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xxl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xxl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xxl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xxl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xxl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xxl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xxl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xxl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xxl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xxl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xxl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xxl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xxl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xxl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xxl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xxl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xxl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xxl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xxl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xxl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xxl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xxl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xxl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xxl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xxl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xxl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xxl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xxl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xxl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}.ant-input-affix-wrapper{position:relative;width:100%;min-width:0;padding:4px 11px;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;background-color:transparent;background-image:none;border:1px solid #434343;border-radius:2px;transition:all .3s;display:inline-flex}.ant-input-affix-wrapper-disabled,.ant-input-affix-wrapper[disabled]{background-color:rgba(255,255,255,.08);cursor:not-allowed;opacity:1;pointer-events:none;color:rgba(255,255,255,.3)}.ant-input-affix-wrapper::-moz-placeholder{opacity:1}.ant-input-affix-wrapper::placeholder{color:rgba(255,255,255,.3)}.ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis}.ant-input-affix-wrapper:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-input-affix-wrapper:hover{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-affix-wrapper-focused,.ant-input-rtl .ant-input-affix-wrapper:focus{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-disabled:hover,.ant-input-affix-wrapper[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-input-affix-wrapper-borderless,.ant-input-affix-wrapper-borderless-disabled,.ant-input-affix-wrapper-borderless-focused,.ant-input-affix-wrapper-borderless:focus,.ant-input-affix-wrapper-borderless:hover,.ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-affix-wrapper-lg{padding:6.5px 11px;font-size:16px}.ant-input-affix-wrapper-sm{padding:0 7px}.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#165996;border-right-width:1px!important;z-index:1}.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-right-width:0;border-left-width:1px!important}.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{z-index:1}.ant-input-affix-wrapper-disabled .ant-input[disabled]{background:0 0}.ant-input,.ant-input-number{min-width:0;background-image:none}.ant-input-affix-wrapper>input.ant-input{padding:0;border:none;outline:0}.ant-input-affix-wrapper>input.ant-input:focus{box-shadow:none}.ant-input-affix-wrapper::before{width:0;visibility:hidden;content:'\a0'}.ant-input-prefix,.ant-input-suffix{display:flex;flex:none;align-items:center}.ant-input-prefix{margin-right:4px}.ant-input-suffix{margin-left:4px}.ant-input-clear-icon{margin:0 4px;color:rgba(255,255,255,.3);font-size:12px;vertical-align:-1px;cursor:pointer;transition:color .3s}.ant-input-clear-icon:hover{color:rgba(255,255,255,.45)}.ant-input,.ant-input-clear-icon:active{color:rgba(255,255,255,.85)}.ant-input-clear-icon-hidden{visibility:hidden}.ant-input-clear-icon:last-child{margin-right:0}.ant-input-affix-wrapper-textarea-with-clear-btn{padding:0!important;border:0!important}.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon{position:absolute;top:8px;right:8px;z-index:1}.ant-input,.ant-input-group{box-sizing:border-box;position:relative;line-height:1.5715;list-style:none;font-feature-settings:tnum;font-variant:tabular-nums}.ant-input{margin:0;display:inline-block;width:100%;padding:4px 11px;font-size:14px;background-color:transparent;border:1px solid #434343;border-radius:2px;transition:all .3s}.ant-input-disabled,.ant-input[disabled]{cursor:not-allowed;color:rgba(255,255,255,.3)}.ant-input-disabled,.ant-input-number[disabled],.ant-input[disabled]{background-color:rgba(255,255,255,.08);opacity:1;pointer-events:none}.ant-input::-moz-placeholder{opacity:1}.ant-input::placeholder{color:rgba(255,255,255,.3)}.ant-input:placeholder-shown{text-overflow:ellipsis}.ant-input:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-input:hover{border-right-width:0;border-left-width:1px!important}.ant-input-focused,.ant-input:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-focused,.ant-input-rtl .ant-input:focus{border-right-width:0;border-left-width:1px!important}.ant-input-disabled:hover,.ant-input[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-input-borderless,.ant-input-borderless-disabled,.ant-input-borderless-focused,.ant-input-borderless:focus,.ant-input-borderless:hover,.ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-lg{padding:6.5px 11px;font-size:16px}.ant-input-group,.ant-input-group-addon{color:rgba(255,255,255,.85);font-size:14px}.ant-input-sm{padding:0 7px}.ant-input-group{margin:0;padding:0;display:table;width:100%;border-collapse:separate;border-spacing:0}.ant-input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.ant-input-group>[class*=col-]{padding-right:8px}.ant-input-group>[class*=col-]:last-child{padding-right:0}.ant-input-group-addon,.ant-input-group-wrap,.ant-input-group>.ant-input{display:table-cell}.ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group-wrap:not(:first-child):not(:last-child),.ant-input-group>.ant-input:not(:first-child):not(:last-child){border-radius:0}.ant-input-group-addon,.ant-input-group-wrap{width:1px;white-space:nowrap;vertical-align:middle}.ant-input-group-wrap>*{display:block!important}.ant-input-group .ant-input{float:left;width:100%;margin-bottom:0;text-align:inherit}.ant-input-group .ant-input:focus,.ant-input-group .ant-input:hover{z-index:1;border-right-width:1px}.ant-input-group-addon,.ant-input-number{transition:all .3s;border:1px solid #434343;position:relative}.ant-input-search-with-button .ant-input-group .ant-input:hover{z-index:0}.ant-input-group-addon{padding:0 11px;font-weight:400;text-align:center;background-color:rgba(255,255,255,.04);border-radius:2px}.ant-input-group-addon .ant-select{margin:-5px -11px}.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none}.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-addon:last-child,.ant-input-group-addon:last-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:first-child) .ant-input,.ant-input-group>.ant-input:last-child,.ant-input-group>.ant-input:last-child .ant-select .ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-addon:first-child,.ant-input-group-addon:first-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:last-child) .ant-input,.ant-input-group>.ant-input:first-child,.ant-input-group>.ant-input:first-child .ant-select .ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-group-addon .ant-select-focused .ant-select-selector,.ant-input-group-addon .ant-select-open .ant-select-selector{color:#177ddc}.ant-input-group-addon:first-child{border-right:0}.ant-input-group-addon:last-child{border-left:0}.ant-input-group-lg .ant-input,.ant-input-group-lg>.ant-input-group-addon{padding:6.5px 11px;font-size:16px}.ant-input-group-sm .ant-input,.ant-input-group-sm>.ant-input-group-addon{padding:0 7px}.ant-input-group-lg .ant-select-single .ant-select-selector{height:40px}.ant-input-group-sm .ant-select-single .ant-select-selector{height:24px}.ant-input-search-button,.ant-input[type=color]{height:32px}.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child){border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact{display:block}.ant-input-group.ant-input-group-compact::after,.ant-input-group.ant-input-group-compact::before{display:table;content:''}.ant-input-group.ant-input-group-compact::after{clear:both}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child){border-right-width:1px}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):hover{z-index:1}.ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex}.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:-1px;border-right-width:1px}.ant-input-group.ant-input-group-compact .ant-input{float:none}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector{border-right-width:1px;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-focused,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover{z-index:1}.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:last-child{border-right-width:1px;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-left:-1px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:2px 0 0 2px}.ant-input-group-rtl .ant-input-group-addon:first-child,.ant-input-group>.ant-input-rtl:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl .ant-input-group-addon:first-child{border-right:1px solid #434343;border-left:0}.ant-input-group-rtl .ant-input-group-addon:last-child{border-right:0;border-left:1px solid #434343}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-rtl.ant-input-group-addon:last-child,.ant-input-group-rtl.ant-input-group>.ant-input:last-child{border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:0;margin-left:-1px;border-left-width:1px}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:last-child{border-left-width:1px;border-radius:2px 0 0 2px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl+.ant-input-group-wrapper-rtl{margin-right:-1px;margin-left:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:0 2px 2px 0}.ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top}.ant-input-password-icon{color:rgba(255,255,255,.45);cursor:pointer;transition:all .3s}.ant-input-password-icon:hover{color:rgba(255,255,255,.85)}.ant-input[type=color].ant-input-lg{height:40px}.ant-input[type=color].ant-input-sm{height:24px;padding-top:3px;padding-bottom:3px}.ant-input-textarea-show-count::after{float:right;color:rgba(255,255,255,.45);white-space:nowrap;content:attr(data-count);pointer-events:none}.ant-input-search .ant-input:focus,.ant-input-search .ant-input:hover{border-color:#165996}.ant-input-search .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-left-color:#165996}.ant-input-search .ant-input-affix-wrapper{border-radius:0}.ant-input-search .ant-input-lg{line-height:1.5713}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child{left:-1px;padding:0;border:0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-radius:0 2px 2px 0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:rgba(255,255,255,.45)}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before{top:0;right:0;bottom:0;left:0}.ant-input-search-button:focus,.ant-input-search-button:hover{z-index:1}.ant-input-search-large .ant-input-search-button{height:40px}.ant-input-search-small .ant-input-search-button{height:24px}.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl>input.ant-input{border:none;outline:0}.ant-input-affix-wrapper-rtl .ant-input-prefix{margin:0 0 0 4px}.ant-input-affix-wrapper-rtl .ant-input-suffix{margin:0 4px 0 0}.ant-input-textarea-rtl.ant-input-textarea-show-count::after{text-align:left}.ant-input-affix-wrapper-rtl .ant-input-clear-icon:last-child{margin-right:4px;margin-left:0}.ant-input-affix-wrapper-rtl .ant-input-clear-icon{right:auto;left:8px}.ant-input-search-rtl .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search-rtl .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-right-color:#165996;border-left-color:#434343}.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper-focused,.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper:hover{border-right-color:#165996}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon{right:-1px;left:auto}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon .ant-input-search-button{border-radius:2px 0 0 2px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-input{height:32px}.ant-input-lg{height:40px}.ant-input-sm{height:24px}.ant-input-affix-wrapper>input.ant-input{height:auto}}textarea.nz-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.ant-form,.ant-form input[type=search],.ant-form-item,.ant-input-number,.ant-layout,.ant-layout *,.ant-list,.ant-mention-wrapper,.ant-menu{box-sizing:border-box}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only{width:32px;height:32px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm{width:24px;height:24px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg{width:40px;height:40px}.ant-input-number{font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;background-color:transparent;display:inline-block;width:90px;margin:0;padding:0;border-radius:2px}.ant-input-number::-moz-placeholder{opacity:1}.ant-input-number::placeholder{color:rgba(255,255,255,.3)}.ant-input-number:placeholder-shown{text-overflow:ellipsis}.ant-input-rtl .ant-input-number:hover{border-right-width:0;border-left-width:1px!important}.ant-input-number-focused,.ant-input-number:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-number-focused,.ant-input-rtl .ant-input-number:focus{border-right-width:0;border-left-width:1px!important}.ant-input-number[disabled]{cursor:not-allowed;color:rgba(255,255,255,.3)}.ant-input-number[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-input-number-borderless,.ant-input-number-borderless-disabled,.ant-input-number-borderless-focused,.ant-input-number-borderless:focus,.ant-input-number-borderless:hover,.ant-input-number-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-number{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-number-handler{position:relative;display:block;width:100%;height:50%;overflow:hidden;color:rgba(255,255,255,.45);font-weight:700;line-height:0;text-align:center;transition:all .1s linear}.ant-input-number-handler:active{background:rgba(255,255,255,.08)}.ant-input-number-handler:hover .ant-input-number-handler-down-inner,.ant-input-number-handler:hover .ant-input-number-handler-up-inner{color:#165996}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner{display:inline-block;color:inherit;text-transform:none;vertical-align:-.125em;position:absolute;right:4px;width:12px;height:12px;color:rgba(255,255,255,.45);line-height:12px;transition:all .1s linear;user-select:none}.ant-input-number-handler-down-inner>*,.ant-input-number-handler-up-inner>*{line-height:1}.ant-input-number-handler-down-inner svg,.ant-input-number-handler-up-inner svg{display:inline-block}.ant-input-number-handler-down-inner::before,.ant-input-number-handler-up-inner::before{display:none}.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon,nz-content,nz-footer,nz-header{display:block}.ant-input-number:hover{border-color:#165996;border-right-width:1px!important}.ant-input-number:hover+.ant-form-item-children-icon{opacity:0;transition:opacity .24s linear .24s}.ant-input-number-focused{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-number-focused{border-right-width:0;border-left-width:1px!important}.ant-input-number-disabled{background-color:rgba(255,255,255,.08);cursor:not-allowed;opacity:1;color:rgba(255,255,255,.3);pointer-events:none}.ant-input-number-disabled:hover{border-color:#434343;border-right-width:1px!important}.ant-input-number-disabled .ant-input-number-input{cursor:not-allowed}.ant-input-number-disabled .ant-input-number-handler-wrap,.ant-input-number-readonly .ant-input-number-handler-wrap{display:none}.ant-input-number-input{width:100%;height:30px;padding:0 11px;text-align:left;background-color:transparent;border:0;border-radius:2px;outline:0;transition:all .3s linear;-moz-appearance:textfield!important}.ant-input-number-input::-moz-placeholder{opacity:1}.ant-input-number-input::placeholder{color:rgba(255,255,255,.3)}.ant-input-number-input:placeholder-shown{text-overflow:ellipsis}.ant-input-number-input[type=number]::-webkit-inner-spin-button,.ant-input-number-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.ant-input-number-lg{padding:0;font-size:16px}.ant-input-number-lg input{height:38px}.ant-input-number-sm{padding:0}.ant-input-number-sm input{height:22px;padding:0 7px}.ant-input-number-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#141414;border-left:1px solid #434343;border-radius:0 2px 2px 0;opacity:0;transition:opacity .24s linear .1s}.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner,.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner{min-width:auto;margin-right:0;font-size:7px}.ant-input-number-borderless .ant-input-number-handler-wrap{border-left-width:0}.ant-input-number-handler-wrap:hover .ant-input-number-handler{height:40%}.ant-input-number-handler-down:hover,.ant-input-number-handler-up:hover{height:60%!important}.ant-input-number:hover .ant-input-number-handler-wrap{opacity:1}.ant-input-number-handler-up{border-top-right-radius:2px;cursor:pointer}.ant-input-number-handler-up-inner{top:50%;margin-top:-5px;text-align:center}.ant-input-number-handler-down{top:0;border-top:1px solid #434343;border-bottom-right-radius:2px;cursor:pointer}.ant-input-number-handler-down-inner{top:50%;text-align:center;transform:translateY(-50%)}.ant-input-number-borderless .ant-input-number-handler-down{border-top-width:0}.ant-input-number-handler-down-disabled,.ant-input-number-handler-up-disabled{cursor:not-allowed}.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner,.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner{color:rgba(255,255,255,.3)}.ant-input-number-borderless{box-shadow:none}.ant-input-number-out-of-range input{color:#a61d24}.ant-input-number-rtl .ant-input-number-handler-wrap{right:auto;left:0;border-right:1px solid #434343;border-left:0;border-radius:2px 0 0 2px}.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap{border-right-width:0}.ant-input-number-rtl .ant-input-number-input{direction:ltr;text-align:right}.ant-form-rtl,.ant-layout-rtl,.ant-list-rtl,.ant-list-rtl .ReactVirtualized__List .ant-list-item,.ant-mention-wrapper .ant-mention-editor-rtl,.ant-menu.ant-menu-rtl,.ant-message-rtl,.ant-message-rtl span,.ant-modal-wrap-rtl,.ant-modal-wrap-rtl .ant-modal-confirm-body,.ant-notification-rtl,.ant-page-header-rtl,.ant-pagination-options-quick-jumper input-rtl,.ant-popover-rtl,.ant-progress-rtl,.ant-radio-group.ant-radio-group-rtl,.ant-radio-wrapper.ant-radio-wrapper-rtl,.ant-rate-rtl,.ant-select-dropdown-rtl,.ant-select-rtl,.ant-skeleton-rtl,.ant-slider-rtl,.ant-spin-rtl{direction:rtl}.ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:#000}.ant-layout.ant-layout-has-sider{flex-direction:row}.ant-layout.ant-layout-has-sider>.ant-layout,.ant-layout.ant-layout-has-sider>.ant-layout-content{width:0}.ant-layout-footer,.ant-layout-header{flex:0 0 auto}.ant-layout-header{height:64px;padding:0 50px;color:rgba(255,255,255,.85);line-height:64px;background:#1f1f1f}.ant-layout-footer{padding:24px 50px;color:rgba(255,255,255,.85);font-size:14px;background:#000}.ant-layout-content{flex:auto;min-height:0}.ant-layout-sider{position:relative;min-width:0;background:#1f1f1f;transition:all .2s}.ant-layout-sider-children{height:100%;margin-top:-.1px;padding-top:.1px}.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed{width:auto}.ant-layout-sider-has-trigger{padding-bottom:48px}.ant-layout-sider-trigger{position:fixed;bottom:0;z-index:1;height:48px;color:#fff;line-height:48px;text-align:center;background:#262626;cursor:pointer;transition:all .2s}.ant-layout-sider-zero-width>*{overflow:hidden}.ant-layout-sider-zero-width-trigger{position:absolute;top:64px;right:-36px;z-index:1;width:36px;height:42px;color:#fff;font-size:18px;line-height:42px;text-align:center;background:#1f1f1f;border-radius:0 2px 2px 0;cursor:pointer;transition:background .3s ease}.ant-layout-sider-zero-width-trigger::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;transition:all .3s;content:''}.ant-layout-sider-zero-width-trigger:hover::after{background:rgba(255,255,255,.1)}.ant-layout-sider-zero-width-trigger-right{left:-36px;border-radius:2px 0 0 2px}.ant-layout-sider-light{background:#fff}.ant-layout-sider-light .ant-layout-sider-trigger,.ant-layout-sider-light .ant-layout-sider-zero-width-trigger{color:rgba(255,255,255,.85);background:#fff}.ant-form-item .ant-mentions,.ant-form-item textarea.ant-input{height:auto}.ant-form-item .ant-upload{background:0 0}.ant-form-item .ant-upload.ant-upload-drag{background:rgba(255,255,255,.04)}.ant-form-item input[type=radio],.ant-form-item input[type=checkbox]{width:14px;height:14px}.ant-form-item .ant-checkbox-inline,.ant-form-item .ant-radio-inline{display:inline-block;margin-left:8px;font-weight:400;vertical-align:middle;cursor:pointer}.ant-form-item .ant-checkbox-inline:first-child,.ant-form-item .ant-checkbox-vertical+.ant-checkbox-vertical,.ant-form-item .ant-radio-inline:first-child,.ant-form-item .ant-radio-vertical+.ant-radio-vertical{margin-left:0}.ant-form-item .ant-checkbox-vertical,.ant-form-item .ant-radio-vertical{display:block}.ant-form-item .ant-input-number+.ant-form-text{margin-left:8px}.ant-form-item .ant-input-number-handler-wrap{z-index:2}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100%}.ant-form-item .ant-input-group .ant-cascader-picker,.ant-form-item .ant-input-group .ant-select,.ant-form-item .ant-picker-calendar-month-select,.ant-form-item .ant-picker-calendar-year-select{width:auto}.ant-form-inline{display:flex;flex-wrap:wrap}.ant-form-inline .ant-form-item{flex:none;flex-wrap:nowrap;margin-right:16px;margin-bottom:0}.ant-form-inline .ant-form-item-with-help{margin-bottom:24px}.ant-form-inline .ant-form-item>.ant-form-item-control,.ant-form-inline .ant-form-item>.ant-form-item-label{display:inline-block;vertical-align:top}.ant-form-inline .ant-form-item>.ant-form-item-label{flex:none}.ant-form-inline .ant-form-item .ant-form-item-has-feedback,.ant-form-inline .ant-form-item .ant-form-text{display:inline-block}.ant-form-horizontal .ant-form-item-label{flex-grow:0}.ant-form-horizontal .ant-form-item-control{flex:1 1 0}.ant-form-vertical .ant-form-item{flex-direction:column}.ant-form-vertical .ant-form-item-label>label{height:auto}.ant-col-24.ant-form-item-label,.ant-col-xl-24.ant-form-item-label,.ant-form-vertical .ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-24.ant-form-item-label>label,.ant-col-xl-24.ant-form-item-label>label,.ant-form-vertical .ant-form-item-label>label{margin:0}.ant-col-24.ant-form-item-label>label::after,.ant-col-xl-24.ant-form-item-label>label::after,.ant-form-vertical .ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-24.ant-form-item-label,.ant-form-rtl.ant-col-xl-24.ant-form-item-label,.ant-form-rtl.ant-form-vertical .ant-form-item-label{text-align:right}@media (max-width:575px){.ant-col-xs-24.ant-form-item-label>label,.ant-form-item .ant-form-item-label>label{margin:0}.ant-col-xs-24.ant-form-item-label>label::after,.ant-form-item .ant-form-item-label>label::after{display:none}.ant-form-item .ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-form-rtl.ant-form-item .ant-form-item-label{text-align:right}.ant-form .ant-form-item{flex-wrap:wrap}.ant-form .ant-form-item .ant-form-item-control,.ant-form .ant-form-item .ant-form-item-label{flex:0 0 100%;max-width:100%}.ant-col-xs-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-form-rtl.ant-col-xs-24.ant-form-item-label{text-align:right}}@media (max-width:767px){.ant-col-sm-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-sm-24.ant-form-item-label>label{margin:0}.ant-col-sm-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-sm-24.ant-form-item-label{text-align:right}}@media (max-width:991px){.ant-col-md-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-md-24.ant-form-item-label>label{margin:0}.ant-col-md-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-md-24.ant-form-item-label{text-align:right}}@media (max-width:1199px){.ant-col-lg-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-lg-24.ant-form-item-label>label{margin:0}.ant-col-lg-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-lg-24.ant-form-item-label{text-align:right}}@media (max-width:1599px){.ant-col-xl-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-xl-24.ant-form-item-label>label{margin:0}.ant-col-xl-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-xl-24.ant-form-item-label{text-align:right}}.ant-form-item-explain.ant-form-item-explain-error{color:#a61d24}.ant-form-item-explain.ant-form-item-explain-warning{color:#d89614}.ant-form-item-has-feedback .ant-input{padding-right:24px}.ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:18px}.ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:28px}.ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-item-has-feedback>.ant-select .ant-select-clear{right:32px}.ant-form-item-has-feedback .ant-switch{margin:2px 0 4px}.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:42px}.ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:19px}.ant-form-item-has-feedback .ant-picker,.ant-form-item-has-feedback .ant-picker-large{padding-right:29.2px}.ant-form-item-has-feedback .ant-picker-small{padding-right:25.2px}.ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{position:absolute;top:50%;right:0;z-index:1;width:32px;height:20px;margin-top:-10px;font-size:14px;line-height:20px;text-align:center;visibility:visible;animation:zoomIn .3s cubic-bezier(.12,.4,.29,1.46);pointer-events:none}.ant-notification .notification-fade-effect,.ant-notification-fade-appear,.ant-notification-fade-enter,.ant-notification-fade-leave,.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-timing-function:cubic-bezier(.645,.045,.355,1)}.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon{color:#49aa19;animation-name:diffZoomIn1!important}.ant-form-item-has-warning .ant-form-item-split{color:#d89614}.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled),.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):hover{background-color:transparent;border-color:#d89614}.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):focus{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-warning .ant-input-prefix{color:#d89614}.ant-form-item-has-warning .ant-input-group-addon{color:#d89614;border-color:#d89614}.ant-form-item-has-warning .has-feedback{color:#d89614}.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon{color:#d89614;animation-name:diffZoomIn3!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:transparent;border-color:#d89614!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-warning .ant-input-number,.ant-form-item-has-warning .ant-picker{background-color:transparent;border-color:#d89614}.ant-form-item-has-warning .ant-input-number-focused,.ant-form-item-has-warning .ant-input-number:focus,.ant-form-item-has-warning .ant-picker-focused,.ant-form-item-has-warning .ant-picker:focus{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-warning .ant-input-number:not([disabled]):hover,.ant-form-item-has-warning .ant-picker:not([disabled]):hover{background-color:transparent;border-color:#d89614}.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-error .ant-form-item-split{color:#a61d24}.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-error .ant-input:not(.ant-input-disabled),.ant-form-item-has-error .ant-input:not(.ant-input-disabled):hover{background-color:transparent;border-color:#a61d24}.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-error .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-error .ant-input:not(.ant-input-disabled):focus{border-color:#a61d24;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(166,29,36,.2)}.ant-form-item-has-error .ant-input-prefix{color:#a61d24}.ant-form-item-has-error .ant-input-group-addon{color:#a61d24;border-color:#a61d24}.ant-form-item-has-error .has-feedback{color:#a61d24}.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon{color:#a61d24;animation-name:diffZoomIn2!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:transparent;border-color:#a61d24!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#a61d24;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(166,29,36,.2)}.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:0;box-shadow:none}.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input,.ant-form-item-has-error .ant-input-number-focused,.ant-form-item-has-error .ant-input-number:focus,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus,.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor,.ant-form-item-has-error .ant-picker-focused,.ant-form-item-has-error .ant-picker:focus{box-shadow:0 0 0 2px rgba(166,29,36,.2);border-color:#a61d24;border-right-width:1px!important;outline:0}.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus{border-color:#a61d24}.ant-form-item-has-error .ant-input-number,.ant-form-item-has-error .ant-picker{background-color:transparent;border-color:#a61d24}.ant-form-item-has-error .ant-input-number:not([disabled]):hover,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover,.ant-form-item-has-error .ant-picker:not([disabled]):hover{background-color:transparent;border-color:#a61d24}.ant-form-item-has-error .ant-cascader-picker:hover .ant-cascader-picker-label:hover+.ant-cascader-input.ant-input{border-color:#a61d24}.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input{background-color:transparent}.ant-form-item-has-error .ant-transfer-list{border-color:#a61d24}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]){border-color:#434343}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-radio-button-wrapper{border-color:#a61d24!important}.ant-form-item-has-error .ant-radio-button-wrapper:not(:first-child)::before{background-color:#a61d24}.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon{display:inline-block;color:#177ddc}.ant-form{margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum}.ant-form legend{display:block;width:100%;margin-bottom:20px;padding:0;color:rgba(255,255,255,.45);font-size:16px;line-height:inherit;border:0;border-bottom:1px solid #434343}.ant-form label{font-size:14px}.ant-form input[type=radio],.ant-form input[type=checkbox]{line-height:normal}.ant-form output,.ant-form-item{line-height:1.5715;color:rgba(255,255,255,.85);font-size:14px}.ant-form input[type=file]{display:block}.ant-form input[type=range]{display:block;width:100%}.ant-form select[multiple],.ant-form select[size]{height:auto}.ant-form input[type=radio]:focus,.ant-form input[type=checkbox]:focus,.ant-form input[type=file]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ant-form output{display:block;padding-top:15px}.ant-form .ant-form-text{display:inline-block;padding-right:8px}.ant-form-small .ant-form-item-label>label{height:24px}.ant-form-small .ant-form-item-control-input{min-height:24px}.ant-form-large .ant-form-item-label>label{height:40px}.ant-form-large .ant-form-item-control-input{min-height:40px}.ant-form-item{margin:0 0 24px;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;vertical-align:top}.ant-form-item-with-help{margin-bottom:0}.ant-form-item-hidden,.ant-form-item-hidden.ant-row{display:none}.ant-form-item-label{display:inline-block;flex-grow:0;overflow:hidden;white-space:nowrap;text-align:right;vertical-align:middle}.ant-form-item-label-left,.ant-form-rtl .ant-form-item-label{text-align:left}.ant-form-item-label>label{position:relative;display:inline-flex;align-items:center;height:32px;color:rgba(255,255,255,.85);font-size:14px}.ant-form-item-label>label>.anticon{font-size:14px;vertical-align:top}.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:inline-block;margin-right:4px;color:#a61d24;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.ant-form-hide-required-mark .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:none}.ant-form-item-label>label .ant-form-item-optional{display:inline-block;margin-left:4px;color:rgba(255,255,255,.45)}.ant-form-hide-required-mark .ant-form-item-label>label .ant-form-item-optional{display:none}.ant-form-item-label>label .ant-form-item-tooltip{color:rgba(255,255,255,.45);cursor:help;writing-mode:horizontal-tb;margin-inline-start:4px}.ant-form-item-label>label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-form-item-label>label.ant-form-item-no-colon::after,.ant-menu-submenu-popup::before{content:' '}.ant-form-item-control{display:flex;flex-direction:column;flex-grow:1}.ant-form-item-control:first-child:not([class^=ant-col-]):not([class*=' ant-col-']){width:100%}.ant-form-item-control-input{position:relative;display:flex;align-items:center;min-height:32px}.ant-form-item-control-input-content{flex:auto;max-width:100%}.ant-form-item-explain,.ant-form-item-extra{clear:both;min-height:24px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;transition:color .3s cubic-bezier(.215,.61,.355,1);padding-top:0}.ant-list,.ant-list-item,.ant-list-item-meta-content,.ant-list-item-meta-title,.ant-list-item-meta-title>a{color:rgba(255,255,255,.85)}.ant-form-item .ant-input-textarea-show-count::after{margin-bottom:-22px}.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.ant-show-help-appear.ant-show-help-appear-active,.ant-show-help-enter.ant-show-help-enter-active{animation-name:antShowHelpIn;animation-play-state:running}.ant-show-help-leave.ant-show-help-leave-active{animation-name:antShowHelpOut;animation-play-state:running;pointer-events:none}.ant-show-help-appear,.ant-show-help-enter{opacity:0}@keyframes antShowHelpIn{0%{transform:translateY(-5px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes antShowHelpOut{to{transform:translateY(-5px);opacity:0}}@keyframes diffZoomIn1{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn2{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn3{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.ant-form-rtl .ant-form-item-label>label.ant-form-item-required::before{margin-right:0;margin-left:4px}.ant-form-rtl .ant-form-item-label>label::after{margin:0 2px 0 8px}.ant-form-rtl .ant-form-item-label>label .ant-form-item-optional{margin-right:4px;margin-left:0}.ant-col-rtl .ant-form-item-control:first-child{width:100%}.ant-form-rtl .ant-form-item-has-feedback .ant-input{padding-right:11px;padding-left:24px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:11px;padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input{padding:0}.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:auto;left:28px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-clear{left:32px;right:auto}.ant-form-rtl .ant-form-item-has-feedback .ant-input-number{padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:0;padding-left:42px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:0;margin-left:19px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker,.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large{padding-right:11px;padding-left:29.2px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small{padding-right:7px;padding-left:25.2px}.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{right:auto;left:0}.ant-form-rtl.ant-form-inline .ant-form-item{margin-right:0;margin-left:16px}.ant-list .ant-card{background:0 0}.ant-list{margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative}.ant-list *{outline:0}.ant-list-pagination{margin-top:24px;text-align:right}.ant-list-pagination .ant-pagination-options{text-align:left}.ant-list-more{margin-top:12px;text-align:center}.ant-list-more button{padding-right:32px;padding-left:32px}.ant-list-spin{min-height:40px;text-align:center}.ant-list-empty-text{padding:16px;color:rgba(255,255,255,.3);font-size:14px;text-align:center}.ant-list-items{margin:0;padding:0;list-style:none}.ant-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.ant-list-item-meta{display:flex;flex:1;align-items:flex-start;max-width:100%}.ant-list-item-meta-avatar{margin-right:16px}.ant-list-item-meta-content{flex:1 0;width:0}.ant-list-item-meta-title{margin-bottom:4px;font-size:14px;line-height:1.5715}.ant-list-item-meta-title>a{transition:all .3s}.ant-list-item-meta-title>a:hover{color:#177ddc}.ant-list-item-meta-description{color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715}.ant-list-item-action{flex:0 0 auto;margin-left:48px;padding:0;font-size:0;list-style:none}.ant-list-item-action>li{position:relative;display:inline-block;padding:0 8px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;text-align:center}.ant-list-item-action>li:first-child{padding-left:0}.ant-list-item-action-split{position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background-color:#303030}.ant-list-footer,.ant-list-header{background:0 0;padding-top:12px;padding-bottom:12px}.ant-list-empty{padding:16px 0;color:rgba(255,255,255,.45);font-size:12px;text-align:center}.ant-list-split .ant-list-item{border-bottom:1px solid #303030}.ant-list-split .ant-list-item:last-child{border-bottom:none}.ant-list-split .ant-list-header,.ant-list-split.ant-list-something-after-last-item .ant-spin-container>.ant-list-items>.ant-list-item:last-child{border-bottom:1px solid #303030}.ant-list-split.ant-list-empty .ant-list-footer{border-top:1px solid #303030}.ant-list-loading .ant-list-spin-nested-loading{min-height:32px}.ant-list-lg .ant-list-item{padding:16px 24px}.ant-list-sm .ant-list-item{padding:8px 16px}.ant-list-vertical .ant-list-item{align-items:initial}.ant-list-vertical .ant-list-item-main{display:block;flex:1}.ant-list-vertical .ant-list-item-extra{margin-left:40px}.ant-list-vertical .ant-list-item-meta{margin-bottom:16px}.ant-list-vertical .ant-list-item-meta-title{margin-bottom:12px;color:rgba(255,255,255,.85);font-size:16px;line-height:24px}.ant-menu-dark .ant-menu-item-danger.ant-menu-item,.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover,.ant-menu-dark .ant-menu-item-danger.ant-menu-item>a,.ant-menu-item-danger.ant-menu-item,.ant-menu-item-danger.ant-menu-item-active,.ant-menu-item-danger.ant-menu-item-selected,.ant-menu-item-danger.ant-menu-item-selected>a,.ant-menu-item-danger.ant-menu-item-selected>a:hover,.ant-menu-item-danger.ant-menu-item:hover{color:#a61d24}.ant-list-vertical .ant-list-item-action{margin-top:16px;margin-left:auto}.ant-list-vertical .ant-list-item-action>li{padding:0 16px}.ant-list-vertical .ant-list-item-action>li:first-child{padding-left:0}.ant-list-grid .ant-col>.ant-list-item{display:block;max-width:100%;margin-bottom:16px;padding-top:0;padding-bottom:0;border-bottom:none}.ant-list-item-no-flex{display:block}.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:right}.ant-list-bordered{border:1px solid #434343;border-radius:2px}.ant-list-bordered .ant-list-footer,.ant-list-bordered .ant-list-header,.ant-list-bordered .ant-list-item{padding-right:24px;padding-left:24px}.ant-list-bordered .ant-list-pagination{margin:16px 24px}.ant-list-bordered.ant-list-sm .ant-list-footer,.ant-list-bordered.ant-list-sm .ant-list-header,.ant-list-bordered.ant-list-sm .ant-list-item{padding:8px 16px}.ant-list-bordered.ant-list-lg .ant-list-footer,.ant-list-bordered.ant-list-lg .ant-list-header,.ant-list-bordered.ant-list-lg .ant-list-item{padding:16px 24px}.ant-list-rtl .ant-list-vertical .ant-list-item-action>li:first-child,.ant-list.ant-list-rtl .ant-list-item-action>li:first-child{padding-right:0;padding-left:16px}@media screen and (max-width:768px){.ant-list-item-action,.ant-list-vertical .ant-list-item-extra{margin-left:24px}}@media screen and (max-width:576px){.ant-list-item{flex-wrap:wrap}.ant-list-item-action{margin-left:12px}.ant-list-vertical .ant-list-item{flex-wrap:wrap-reverse}.ant-list-vertical .ant-list-item-main{min-width:220px}.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-list-rtl{text-align:right}.ant-list-rtl .ant-list-pagination,.ant-menu{text-align:left}.ant-list-rtl .ant-list-item-meta-avatar{margin-right:0;margin-left:16px}.ant-list-rtl .ant-list-item-action{margin-right:48px;margin-left:0}.ant-list-rtl .ant-list-item-action-split{right:auto;left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin-right:40px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-action{margin-right:auto}.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:left}@media screen and (max-width:768px){.ant-list-rtl .ant-list-item-action,.ant-list-rtl .ant-list-vertical .ant-list-item-extra{margin-right:24px;margin-left:0}}@media screen and (max-width:576px){.ant-list-rtl .ant-list-item-action{margin-right:22px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-menu,.ant-menu ol,.ant-menu ul{margin:0;padding:0;list-style:none}nz-list,nz-list nz-spin,nz-list-empty,nz-list-footer,nz-list-header,nz-list-item-extra,nz-list-pagination{display:block}.ant-menu::after,.ant-menu::before{display:table;content:''}.ant-menu-item-danger.ant-menu-item:active{background:#2a1215}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{background-color:#2a1215}.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after{border-right-color:#a61d24}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{color:#fff;background-color:#a61d24}.ant-menu{font-variant:tabular-nums;font-feature-settings:tnum;color:rgba(255,255,255,.85);font-size:14px;line-height:0;background:#141414;outline:0;transition:background .3s,width .3s cubic-bezier(.2,0,0,1) 0s}.ant-menu::after{clear:both}.ant-menu.ant-menu-root:focus-visible{box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-menu-overflow{display:flex}.ant-menu-hidden,.ant-menu-submenu-hidden,.ant-menu-submenu-horizontal .ant-menu-submenu-arrow{display:none}.ant-menu-overflow-item{flex:none}.ant-menu-item-group-title{height:1.5715;padding:8px 16px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;transition:all .3s}.ant-menu-horizontal .ant-menu-submenu{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu,.ant-menu-submenu-inline{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-selected{color:#177ddc}.ant-menu-submenu .ant-menu-sub{cursor:initial;transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item a{color:rgba(255,255,255,.85)}.ant-menu-item a:hover{color:#177ddc}.ant-menu-item a::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;content:''}.ant-menu-item>.ant-badge a{color:rgba(255,255,255,.85)}.ant-menu-item-selected,.ant-menu-item-selected a,.ant-menu-item-selected a:hover,.ant-menu-item>.ant-badge a:hover{color:#177ddc}.ant-menu-item-divider{height:1px;overflow:hidden;line-height:0;background-color:#303030}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#111b26}.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:1px solid #303030}.ant-menu-vertical-right{border-left:1px solid #303030}.ant-menu-vertical-left.ant-menu-sub,.ant-menu-vertical-right.ant-menu-sub,.ant-menu-vertical.ant-menu-sub{min-width:160px;max-height:calc(100vh - 100px);padding:0;overflow:hidden;border-right:0}.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']),.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']),.ant-menu-vertical.ant-menu-sub:not([class*='-active']){overflow-x:hidden;overflow-y:auto}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item,.ant-menu-vertical.ant-menu-sub .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical.ant-menu-sub .ant-menu-item::after{border-right:0}.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:0 0}.ant-menu-horizontal.ant-menu-sub{min-width:114px}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu-title{transition:border-color .3s,background .3s}.ant-menu-item,.ant-menu-submenu-title{position:relative;display:block;margin:0;padding:0 20px;white-space:nowrap;cursor:pointer;transition:border-color .3s,background .3s,padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item-disabled,.ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-submenu-disabled,.ant-menu-submenu-disabled>.ant-menu-submenu-title{cursor:not-allowed;color:rgba(255,255,255,.3)!important}.ant-menu-item .ant-menu-item-icon,.ant-menu-item .anticon,.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-submenu-title .anticon{min-width:14px;font-size:14px;transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s}.ant-menu-item .ant-menu-item-icon+span,.ant-menu-item .anticon+span,.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu-submenu-title .anticon+span{margin-left:10px;opacity:1;transition:opacity .3s cubic-bezier(.645,.045,.355,1),margin .3s,color .3s}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon,.ant-menu-submenu>.ant-menu-submenu-title::after{transition:transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon.svg,.ant-menu-submenu-title .ant-menu-item-icon.svg{vertical-align:-.125em}.ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-right:0}.ant-menu-item:focus-visible,.ant-menu-submenu-title:focus-visible{box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-menu>.ant-menu-item-divider{height:1px;margin:1px 0;padding:0;overflow:hidden;line-height:0;background-color:#303030}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;border-radius:2px;box-shadow:none;transform-origin:0 0}.ant-menu-submenu-popup::before{position:absolute;top:-7px;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;opacity:.0001}.ant-menu-submenu-placement-rightTop::before{top:0;left:-7px}.ant-menu-submenu>.ant-menu{background-color:#141414;border-radius:2px}.ant-menu-submenu-popup>.ant-menu{background-color:#1f1f1f}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon{position:absolute;top:50%;right:16px;width:10px;color:rgba(255,255,255,.85);transform:translateY(-50%)}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-expand-icon,.ant-menu-vertical .ant-menu-submenu-selected,.ant-menu-vertical-left .ant-menu-submenu-selected,.ant-menu-vertical-right .ant-menu-submenu-selected{color:#177ddc}.ant-menu-submenu-arrow::after,.ant-menu-submenu-arrow::before{position:absolute;width:6px;height:1.5px;background-color:currentColor;border-radius:2px;transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateY(-2.5px)}.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateY(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before,.ant-menu-submenu-inline .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateX(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after,.ant-menu-submenu-inline .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow{transform:translateY(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateX(2.5px)}.ant-menu-horizontal{line-height:46px;border:0;border-bottom:1px solid #303030;box-shadow:none}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu{margin-top:-1px;margin-bottom:0;padding:0 20px}.ant-menu-horizontal>.ant-menu-item a,.ant-menu.ant-menu-inline-collapsed-tooltip a{color:rgba(255,255,255,.85)}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover::after{border-bottom:2px solid #177ddc}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{position:relative;top:1px;display:inline-block;vertical-align:bottom}.ant-menu-horizontal>.ant-menu-item::after,.ant-menu-horizontal>.ant-menu-submenu::after{position:absolute;right:20px;bottom:0;left:20px;border-bottom:2px solid transparent;transition:border-color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-horizontal>.ant-menu-submenu>.ant-menu-submenu-title{padding:0}.ant-menu-horizontal>.ant-menu-item a:hover,.ant-menu-horizontal>.ant-menu-item-selected a{color:#177ddc}.ant-menu-horizontal>.ant-menu-item a::before{bottom:-2px}.ant-menu-horizontal::after{display:block;clear:both;height:0;content:'\20'}.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item{position:relative}.ant-menu-inline .ant-menu-item::after,.ant-menu-vertical .ant-menu-item::after,.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-vertical-right .ant-menu-item::after{position:absolute;top:0;right:0;bottom:0;border-right:3px solid #177ddc;transform:scaleY(.0001);opacity:0;transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1);content:''}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-vertical-right .ant-menu-item,.ant-menu-vertical-right .ant-menu-submenu-title{height:40px;margin-top:4px;margin-bottom:4px;padding:0 16px;overflow:hidden;line-height:40px;text-overflow:ellipsis}.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline .ant-menu-submenu,.ant-menu-vertical .ant-menu-submenu,.ant-menu-vertical-left .ant-menu-submenu,.ant-menu-vertical-right .ant-menu-submenu{padding-bottom:.02px}.ant-menu-inline .ant-menu-item:not(:last-child),.ant-menu-vertical .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child){margin-bottom:8px}.ant-menu-inline>.ant-menu-item,.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-left>.ant-menu-item,.ant-menu-vertical-left>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-right>.ant-menu-item,.ant-menu-vertical-right>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical>.ant-menu-item,.ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px}.ant-menu-inline{width:100%}.ant-menu-inline .ant-menu-item-selected::after,.ant-menu-inline .ant-menu-selected::after{transform:scaleY(1);opacity:1;transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{width:calc(100% + 1px)}.ant-menu-inline.ant-menu-root .ant-menu-item,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{display:flex;align-items:center;transition:border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1)}.ant-menu-inline.ant-menu-root .ant-menu-item>.ant-menu-title-content,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>.ant-menu-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ant-menu-inline.ant-menu-root .ant-menu-item>*,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>*{flex:none}.ant-menu.ant-menu-inline-collapsed{width:80px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{left:0;padding:0 calc(50% - 16px / 2);text-overflow:clip}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:0}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:16px;line-height:40px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span{display:inline-block;opacity:0}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed .anticon{display:inline-block}.ant-menu.ant-menu-inline-collapsed-tooltip{pointer-events:none}.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed-tooltip .anticon{display:none}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{padding-right:4px;padding-left:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-menu-item-group-list{margin:0;padding:0}.ant-menu-item-group-list .ant-menu-item,.ant-menu-item-group-list .ant-menu-submenu-title{padding:0 16px 0 28px}.ant-menu-root.ant-menu-inline,.ant-menu-root.ant-menu-vertical,.ant-menu-root.ant-menu-vertical-left,.ant-menu-root.ant-menu-vertical-right{box-shadow:none}.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item>.ant-menu-inline-collapsed-noicon,.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title>.ant-menu-inline-collapsed-noicon{font-size:16px;text-align:center}.ant-menu-rtl .ant-menu-item-group-title,.ant-menu-rtl.ant-menu-inline .ant-menu-item,.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical .ant-menu-item,.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu.ant-menu-rtl{text-align:right}.ant-menu-sub.ant-menu-inline{padding:0;background:rgba(255,255,255,.04);border-radius:0;box-shadow:none}.ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;list-style-position:inside;list-style-type:disc}.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-left:32px}.ant-menu-item-disabled,.ant-menu-submenu-disabled{background:0 0}.ant-menu-item-disabled::after,.ant-menu-submenu-disabled::after{border-color:transparent!important}.ant-menu-item-disabled a,.ant-menu-submenu-disabled a{color:rgba(255,255,255,.3)!important;pointer-events:none}.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(255,255,255,.3)!important}.ant-layout-header .ant-menu{line-height:inherit}.ant-menu-light .ant-menu-item-active,.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-submenu-active,.ant-menu-light .ant-menu-submenu-title:hover,.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#177ddc}.ant-menu-dark .ant-menu-sub,.ant-menu.ant-menu-dark,.ant-menu.ant-menu-dark .ant-menu-sub{color:rgba(255,255,255,.65);background:#1f1f1f}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:.45;transition:all .3s}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark.ant-menu-submenu-popup{background:0 0}.ant-menu-dark .ant-menu-inline.ant-menu-sub{background:#141414}.ant-menu-dark.ant-menu-horizontal{border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item,.ant-menu-dark.ant-menu-horizontal>.ant-menu-submenu{top:0;margin-top:0;padding:0 20px;border-color:#1f1f1f;border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item:hover{background-color:#177ddc}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item>a::before{bottom:0}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-item-group-title,.ant-menu-dark .ant-menu-item>a,.ant-menu-dark .ant-menu-item>span>a{color:rgba(255,255,255,.65)}.ant-menu-dark.ant-menu-inline,.ant-menu-dark.ant-menu-vertical,.ant-menu-dark.ant-menu-vertical-left,.ant-menu-dark.ant-menu-vertical-right{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-vertical .ant-menu-item,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{width:100%}.ant-menu-dark .ant-menu-item-active,.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-active,.ant-menu-dark .ant-menu-submenu-open,.ant-menu-dark .ant-menu-submenu-selected,.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background-color:transparent}.ant-menu-dark .ant-menu-item-active>a,.ant-menu-dark .ant-menu-item-active>span>a,.ant-menu-dark .ant-menu-item:hover>a,.ant-menu-dark .ant-menu-item:hover>span>a,.ant-menu-dark .ant-menu-submenu-active>a,.ant-menu-dark .ant-menu-submenu-active>span>a,.ant-menu-dark .ant-menu-submenu-open>a,.ant-menu-dark .ant-menu-submenu-open>span>a,.ant-menu-dark .ant-menu-submenu-selected>a,.ant-menu-dark .ant-menu-submenu-selected>span>a,.ant-menu-dark .ant-menu-submenu-title:hover>a,.ant-menu-dark .ant-menu-submenu-title:hover>span>a{color:#fff}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{opacity:1}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark .ant-menu-item:hover{background-color:transparent}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected,.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected,.ant-menu.ant-menu-dark .ant-menu-item-selected{background-color:#177ddc}.ant-menu-dark .ant-menu-item-selected{color:#fff;border-right:0}.ant-menu-dark .ant-menu-item-selected::after{border-right:0}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon+span,.ant-menu-dark .ant-menu-item-selected .anticon,.ant-menu-dark .ant-menu-item-selected .anticon+span,.ant-menu-dark .ant-menu-item-selected>a,.ant-menu-dark .ant-menu-item-selected>a:hover,.ant-menu-dark .ant-menu-item-selected>span>a,.ant-menu-dark .ant-menu-item-selected>span>a:hover{color:#fff}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-item-disabled>a,.ant-menu-dark .ant-menu-item-disabled>span>a,.ant-menu-dark .ant-menu-submenu-disabled,.ant-menu-dark .ant-menu-submenu-disabled>a,.ant-menu-dark .ant-menu-submenu-disabled>span>a{color:rgba(255,255,255,.3)!important;opacity:.8}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(255,255,255,.3)!important}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(255,255,255,.3)!important}.ant-menu-rtl.ant-menu-inline,.ant-menu-rtl.ant-menu-vertical{border-right:none;border-left:1px solid #303030}.ant-menu-rtl.ant-menu-dark.ant-menu-inline,.ant-menu-rtl.ant-menu-dark.ant-menu-vertical{border-left:none}.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:top right}.ant-menu-rtl .ant-menu-item .ant-menu-item-icon,.ant-menu-rtl .ant-menu-item .anticon,.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title .anticon{margin-right:auto;margin-left:10px}.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-left:0}.ant-menu-submenu-rtl.ant-menu-submenu-popup{transform-origin:100% 0}.ant-menu-rtl .ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow{right:auto;left:16px}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateY(-2px)}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateY(2px)}.ant-menu-rtl.ant-menu-inline .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after{right:auto;left:0}.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title{padding-right:0;padding-left:34px}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title{padding-right:16px;padding-left:34px}.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title{padding:0 calc(50% - 16px / 2)}.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item,.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title{padding:0 28px 0 16px}.ant-menu-sub.ant-menu-inline{border:0}.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-right:32px;padding-left:0}.ant-mention-wrapper,.ant-mention-wrapper .ant-mention-editor{color:rgba(255,255,255,.85);font-size:14px;padding:0;line-height:1.5715;position:relative;width:100%}.ant-menu-submenu.ant-menu-submenu-placement-bottom{top:6px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right{left:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right.ant-menu-submenu-rtl{left:auto;right:4px}.ant-menu-submenu.ant-menu-submenu-placement-left{right:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-left.ant-menu-submenu-rtl{right:auto;left:4px}.ant-mention-wrapper{margin:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;vertical-align:middle}.ant-mention-wrapper .ant-mention-editor{min-width:0;background-color:transparent;background-image:none;border:1px solid #434343;border-radius:2px;transition:all .3s;display:block;height:auto;min-height:32px}.ant-mention-wrapper .ant-mention-editor-disabled,.ant-mention-wrapper .ant-mention-editor[disabled]{background-color:rgba(255,255,255,.08);cursor:not-allowed;color:rgba(255,255,255,.3);opacity:1;pointer-events:none}.ant-mention-wrapper .ant-mention-editor::-moz-placeholder{opacity:1}.ant-mention-wrapper .ant-mention-editor::placeholder{color:rgba(255,255,255,.3)}.ant-mention-wrapper .ant-mention-editor:placeholder-shown{text-overflow:ellipsis}.ant-mention-wrapper .ant-mention-editor:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:hover{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-focused,.ant-mention-wrapper .ant-mention-editor:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor-focused,.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:focus{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-disabled:hover,.ant-mention-wrapper .ant-mention-editor[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-mention-wrapper .ant-mention-editor-borderless,.ant-mention-wrapper .ant-mention-editor-borderless-disabled,.ant-mention-wrapper .ant-mention-editor-borderless-focused,.ant-mention-wrapper .ant-mention-editor-borderless:focus,.ant-mention-wrapper .ant-mention-editor-borderless:hover,.ant-mention-wrapper .ant-mention-editor-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-mention-wrapper .ant-mention-editor{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-mention-wrapper .ant-mention-editor-lg{padding:6.5px 11px;font-size:16px}.ant-mention-dropdown,.ant-message{font-size:14px;line-height:1.5715;list-style:none;font-feature-settings:tnum;box-sizing:border-box}.ant-mention-wrapper .ant-mention-editor-sm{padding:0 7px}.ant-mention-wrapper .ant-mention-editor-wrapper{height:auto;overflow-y:auto}.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-mention-dropdown,.ant-message-notice-content,.ant-modal-content{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-input-rtl .ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper.disabled .ant-mention-editor{background-color:rgba(255,255,255,.08);cursor:not-allowed;opacity:1;color:rgba(255,255,255,.3);pointer-events:none}.ant-mention-wrapper.disabled .ant-mention-editor:hover{border-color:#434343;border-right-width:1px!important}.ant-mention-wrapper .public-DraftEditorPlaceholder-root{position:absolute;pointer-events:none}.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner{height:auto;padding:5px 11px;color:rgba(255,255,255,.3);white-space:pre-wrap;word-wrap:break-word;outline:0;opacity:1}.ant-mention-wrapper .DraftEditor-editorContainer .public-DraftEditor-content{height:auto;padding:5px 11px}.ant-mention-dropdown{margin:1.5em 0 0;padding:0;color:rgba(255,255,255,.85);font-variant:tabular-nums;z-index:1050;min-width:120px;max-height:250px;overflow-x:hidden;overflow-y:auto;background-color:#141414;border-radius:2px;outline:0}.ant-mention-dropdown-placement-top{margin-top:-.1em}.ant-mention-dropdown-notfound.ant-mention-dropdown-item{color:rgba(255,255,255,.3)}.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading{display:block;color:#177ddc;text-align:center}.ant-mention-dropdown-item{position:relative;display:block;padding:5px 12px;overflow:hidden;color:rgba(255,255,255,.85);font-weight:400;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .3s}.ant-mention-dropdown-item-disabled,.ant-mention-dropdown-item-disabled:hover{cursor:not-allowed;color:rgba(255,255,255,.3)}.ant-mention-dropdown-item:hover{background-color:rgba(255,255,255,.08)}.ant-mention-dropdown-item-active,.ant-mention-dropdown-item.focus{background-color:#111b26}.ant-mention-dropdown-item-disabled:hover{background-color:#141414}.ant-mention-dropdown-item-selected,.ant-mention-dropdown-item-selected:hover{color:rgba(255,255,255,.85);font-weight:700;background-color:rgba(255,255,255,.08)}.ant-mention-dropdown-item-divider{height:1px;margin:1px 0;overflow:hidden;line-height:0;background-color:#303030}.ant-mention-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px}.ant-message{margin:0;padding:0;color:rgba(255,255,255,.85);font-variant:tabular-nums;position:fixed;top:8px;left:0;z-index:1010;width:100%;pointer-events:none}.ant-message-notice{padding:8px;text-align:center}.ant-message-notice-content{display:inline-block;padding:10px 16px;background:#1f1f1f;border-radius:2px;pointer-events:all}.ant-message-success .anticon{color:#49aa19}.ant-message-error .anticon{color:#a61d24}.ant-message-warning .anticon{color:#d89614}.ant-message-info .anticon,.ant-message-loading .anticon{color:#177ddc}.ant-modal,.ant-modal-title{color:rgba(255,255,255,.85)}.ant-message .anticon{position:relative;top:1px;margin-right:8px;font-size:16px}.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active{animation-name:MessageMoveOut;animation-duration:.3s}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}100%{max-height:0;padding:0;opacity:0}}.ant-message-rtl .anticon{margin-right:0;margin-left:8px}.ant-modal{box-sizing:border-box;padding:0 0 24px;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;pointer-events:none;position:relative;top:100px;width:auto;max-width:calc(100vw - 32px);margin:0 auto}.ant-modal-mask,.ant-modal-wrap{position:fixed;right:0;left:0;bottom:0;z-index:1000}.ant-modal.ant-zoom-enter,.ant-modal.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.ant-modal-mask{top:0;height:100%;background-color:rgba(0,0,0,.45)}.ant-modal .ant-anchor-wrapper,.ant-modal .ant-card,.ant-modal .ant-collapse-content,.ant-modal .ant-picker-clear,.ant-modal .ant-slider-handle,.ant-modal .ant-timeline-item-head,.ant-modal-content{background-color:#1f1f1f}.ant-modal-mask-hidden{display:none}.ant-modal-wrap{top:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch}.ant-modal-title{margin:0;font-weight:500;font-size:16px;line-height:22px;word-wrap:break-word}.ant-modal-content{position:relative;background-clip:padding-box;border:0;border-radius:2px;pointer-events:auto}.ant-modal .ant-badge-count,.ant-notification .ant-badge-count{box-shadow:0 0 0 1px #1f1f1f}.ant-modal-close{position:absolute;top:0;right:0;z-index:10;padding:0;color:rgba(255,255,255,.45);font-weight:700;line-height:1;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s}.ant-modal .ant-transfer-list-header,.ant-modal-header{background:#1f1f1f}.ant-modal-close-x{display:block;width:56px;height:56px;font-size:16px;font-style:normal;line-height:56px;text-align:center;text-transform:none;text-rendering:auto}.ant-modal-close:focus,.ant-modal-close:hover{color:rgba(255,255,255,.75);text-decoration:none}.ant-modal-header{padding:16px 24px;color:rgba(255,255,255,.85);border-bottom:1px solid #303030;border-radius:2px 2px 0 0}.ant-modal .ant-table tbody>tr>td,.ant-modal .ant-table tfoot>tr>td,.ant-modal .ant-table tfoot>tr>th,.ant-modal .ant-table thead>tr>th,.ant-modal .ant-table.ant-table-small thead>tr>th,.ant-modal .ant-transfer-list-header{border-bottom:1px solid #3a3a3a}.ant-modal-body{padding:24px;font-size:14px;line-height:1.5715;word-wrap:break-word}.ant-modal-footer{padding:10px 16px;text-align:right;background:0 0;border-top:1px solid #303030;border-radius:0 0 2px 2px}.ant-modal .ant-table .ant-table-row-expand-icon,.ant-modal .ant-table.ant-table-bordered .ant-table-title{border:1px solid #3a3a3a}.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){margin-bottom:0;margin-left:8px}.ant-modal-open{overflow:hidden}.ant-modal-centered{text-align:center}.ant-modal-centered::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:''}.ant-modal-centered .ant-modal{top:0;display:inline-block;text-align:left;vertical-align:middle}@media (max-width:767px){.ant-modal{max-width:calc(100vw - 16px);margin:8px auto}.ant-modal-centered .ant-modal{flex:1}}.ant-modal-confirm .ant-modal-header{display:none}.ant-modal-confirm-body-wrapper::after,.ant-modal-confirm-body-wrapper::before{display:table;content:''}.ant-modal-confirm .ant-modal-body{padding:32px 32px 24px}.ant-modal-confirm-body-wrapper::after{clear:both}.ant-modal-confirm-body .ant-modal-confirm-title{display:block;overflow:hidden;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;line-height:1.4}.ant-modal-confirm-body .ant-modal-confirm-content{margin-top:8px;color:rgba(255,255,255,.85);font-size:14px}.ant-modal-confirm-body>.anticon{float:left;margin-right:16px;font-size:22px}.ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-left:38px}.ant-modal-confirm .ant-modal-confirm-btns{float:right;margin-top:24px}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-bottom:0;margin-left:8px}.ant-modal-confirm-error .ant-modal-confirm-body>.anticon{color:#a61d24}.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon,.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon{color:#d89614}.ant-modal-confirm-info .ant-modal-confirm-body>.anticon{color:#177ddc}.ant-modal-confirm-success .ant-modal-confirm-body>.anticon{color:#49aa19}.ant-modal .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255,255,255,.08)}.ant-modal tr.ant-table-expanded-row:hover>td,.ant-modal tr.ant-table-expanded-row>td{background:#272727}.ant-modal .ant-table,.ant-modal .ant-table.ant-table-small thead>tr>th{background-color:#1f1f1f}.ant-modal .ant-table thead>tr>th{background-color:#272727}.ant-modal .ant-table tbody>tr>td.ant-table-cell-fix-left,.ant-modal .ant-table tbody>tr>td.ant-table-cell-fix-right{background-color:#1f1f1f}.ant-modal .ant-table tbody>tr.ant-table-row:hover>td{background:#303030}.ant-modal .ant-table.ant-table-bordered table thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-modal .ant-table.ant-table-bordered .ant-table-container,.ant-modal .ant-table.ant-table-bordered .ant-table-footer{border:1px solid #3a3a3a}.ant-modal .ant-table .ant-table-filter-trigger-container-open{background-color:#525252}.ant-modal .ant-picker-calendar-full,.ant-modal .ant-picker-calendar-full .ant-picker-panel{background-color:#1f1f1f}.ant-modal .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{border-top:2px solid #3a3a3a}.ant-modal .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{background-color:#1f1f1f;border-bottom:1px solid #1f1f1f}.ant-notification .ant-table .ant-table-row-expand-icon,.ant-notification .ant-table.ant-table-bordered .ant-table-title{border:1px solid #3a3a3a}.ant-modal .ant-tree-show-line .ant-tree-switcher{background:#1f1f1f}.ant-modal-wrap-rtl .ant-modal-close{right:initial;left:0}.ant-modal-wrap-rtl .ant-modal-footer{text-align:left}.ant-modal-wrap-rtl .ant-modal-footer .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon{float:right;margin-right:0;margin-left:16px}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-right:38px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-btns{float:left}.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl.ant-modal-centered .ant-modal{text-align:right}.ant-notification .ant-anchor-wrapper,.ant-notification .ant-card,.ant-notification .ant-collapse-content,.ant-notification .ant-picker-clear,.ant-notification .ant-slider-handle,.ant-notification .ant-timeline-item-head{background-color:#1f1f1f}.ant-notification .ant-transfer-list-header{background:#1f1f1f;border-bottom:1px solid #3a3a3a}.ant-notification .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255,255,255,.08)}.ant-notification tr.ant-table-expanded-row:hover>td,.ant-notification tr.ant-table-expanded-row>td{background:#272727}.ant-notification .ant-table.ant-table-small thead>tr>th{background-color:#1f1f1f;border-bottom:1px solid #3a3a3a}.ant-notification .ant-table{background-color:#1f1f1f}.ant-notification .ant-table tfoot>tr>td,.ant-notification .ant-table tfoot>tr>th{border-bottom:1px solid #3a3a3a}.ant-notification .ant-table thead>tr>th{background-color:#272727;border-bottom:1px solid #3a3a3a}.ant-notification .ant-table tbody>tr>td{border-bottom:1px solid #3a3a3a}.ant-notification .ant-table tbody>tr>td.ant-table-cell-fix-left,.ant-notification .ant-table tbody>tr>td.ant-table-cell-fix-right{background-color:#1f1f1f}.ant-notification .ant-table tbody>tr.ant-table-row:hover>td{background:#303030}.ant-notification .ant-table.ant-table-bordered table thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-notification .ant-table.ant-table-bordered .ant-table-container,.ant-notification .ant-table.ant-table-bordered .ant-table-footer{border:1px solid #3a3a3a}.ant-notification .ant-table .ant-table-filter-trigger-container-open{background-color:#525252}.ant-notification .ant-picker-calendar-full,.ant-notification .ant-picker-calendar-full .ant-picker-panel{background-color:#1f1f1f}.ant-notification .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{border-top:2px solid #3a3a3a}.ant-notification .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{background-color:#1f1f1f;border-bottom:1px solid #1f1f1f}.ant-notification-notice,.ant-popover-inner,.ant-select-dropdown{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-notification .ant-tree-show-line .ant-tree-switcher{background:#1f1f1f}.ant-notification{box-sizing:border-box;margin:0 24px 0 0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:fixed;z-index:1010}.ant-notification-bottomLeft,.ant-notification-topLeft{margin-right:0;margin-left:24px}.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationLeftFadeIn}.ant-notification-close-icon{font-size:14px;cursor:pointer}.ant-notification-hook-holder{position:relative}.ant-notification-notice{position:relative;width:384px;max-width:calc(100vw - 24px * 2);margin-bottom:16px;margin-left:auto;padding:16px 24px;overflow:hidden;line-height:1.5715;word-wrap:break-word;background:#1f1f1f;border-radius:2px}.ant-notification-bottomLeft .ant-notification-notice,.ant-notification-topLeft .ant-notification-notice{margin-right:auto;margin-left:0}.ant-notification-notice-message{margin-bottom:8px;color:rgba(255,255,255,.85);font-size:16px;line-height:24px}.ant-notification-notice-message-single-line-auto-margin{display:block;width:calc(384px - 24px * 2 - 24px - 48px - 100%);max-width:4px;background-color:transparent;pointer-events:none}.ant-notification-notice-message-single-line-auto-margin::before{display:block;content:''}.ant-notification-notice-description{font-size:14px}.ant-notification-notice-closable .ant-notification-notice-message{padding-right:24px}.ant-notification-notice-with-icon .ant-notification-notice-message{margin-bottom:4px;margin-left:48px;font-size:16px}.ant-notification-notice-with-icon .ant-notification-notice-description{margin-left:48px;font-size:14px}.ant-notification-notice-icon{position:absolute;margin-left:4px;font-size:24px;line-height:24px}.anticon.ant-notification-notice-icon-success{color:#49aa19}.anticon.ant-notification-notice-icon-info{color:#177ddc}.anticon.ant-notification-notice-icon-warning{color:#d89614}.anticon.ant-notification-notice-icon-error{color:#a61d24}.ant-notification-notice-close{position:absolute;top:16px;right:22px;color:rgba(255,255,255,.45);outline:0}.ant-page-header,.ant-pagination-jump-next .ant-pagination-item-container,.ant-pagination-jump-prev .ant-pagination-item-container{position:relative}.ant-notification-notice-close:hover,.ant-page-header{color:rgba(255,255,255,.85)}.ant-notification-notice-btn{float:right;margin-top:16px}.ant-notification .notification-fade-effect{animation-duration:.24s;animation-fill-mode:both}.ant-notification-fade-appear,.ant-notification-fade-enter{animation-duration:.24s;animation-fill-mode:both;opacity:0;animation-play-state:paused}.ant-notification-fade-leave{animation-fill-mode:both;animation-duration:.2s;animation-play-state:paused}.ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationFadeIn;animation-play-state:running}.ant-notification-fade-leave.ant-notification-fade-leave-active{animation-name:NotificationFadeOut;animation-play-state:running}@keyframes NotificationFadeIn{0%{left:384px;opacity:0}100%{left:0;opacity:1}}@keyframes NotificationLeftFadeIn{0%{right:384px;opacity:0}100%{right:0;opacity:1}}@keyframes NotificationFadeOut{0%{max-height:150px;margin-bottom:16px;opacity:1}100%{max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0}}.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message{padding-right:0;padding-left:24px}.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description,.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message{margin-right:48px;margin-left:0}.ant-notification-rtl .ant-notification-notice-icon{margin-right:4px;margin-left:0}.ant-notification-rtl .ant-notification-notice-close{right:auto;left:22px}.ant-notification-rtl .ant-notification-notice-btn{float:left}.ant-page-header{box-sizing:border-box;margin:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;padding:16px 16px 32px 0;background-color:#141414}.ant-page-header-content,.ant-page-header.has-breadcrumb{padding-top:12px}.ant-page-header-ghost{background-color:transparent}.ant-page-header.has-footer{padding-bottom:0}.ant-page-header-back{margin-right:16px;font-size:16px;line-height:1}.ant-page-header-back-button{text-decoration:none;outline:0;transition:color .3s;color:inherit;cursor:pointer}.ant-page-header-back-button:focus,.ant-page-header-back-button:hover{color:#165996}.ant-page-header-back-button:active{color:#388ed3}.ant-page-header .ant-divider-vertical{height:14px;margin:0 12px;vertical-align:middle}.ant-breadcrumb+.ant-page-header-heading{margin-top:8px}.ant-page-header-heading{display:flex;justify-content:space-between}.ant-page-header-heading-left{display:flex;align-items:center;margin:4px 0;overflow:hidden}.ant-page-header-heading-title{margin-right:12px;margin-bottom:0;color:rgba(255,255,255,.85);font-weight:600;font-size:20px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading .ant-avatar{margin-right:12px}.ant-page-header-heading-sub-title{margin-right:12px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading-extra{margin:4px 0;white-space:nowrap}.ant-page-header-heading-extra>*{margin-left:12px;white-space:unset}.ant-page-header-heading-extra>:first-child{margin-left:0}.ant-page-header-footer{margin-top:16px}.ant-page-header-footer .ant-tabs>.ant-tabs-nav{margin:0}.ant-page-header-footer .ant-tabs>.ant-tabs-nav::before{border:none}.ant-page-header-footer .ant-tabs .ant-tabs-tab{padding-top:8px;padding-bottom:8px;font-size:16px}.ant-page-header-compact .ant-page-header-heading{flex-wrap:wrap}.ant-page-header-rtl .ant-page-header-back{float:right;margin-right:0;margin-left:16px}.ant-page-header-rtl .ant-page-header-heading .ant-avatar,.ant-page-header-rtl .ant-page-header-heading-title{margin-right:0;margin-left:12px}.ant-page-header-rtl .ant-page-header-heading-sub-title{float:right;margin-right:0;margin-left:12px}.ant-page-header-rtl .ant-page-header-heading-tags{float:right}.ant-page-header-rtl .ant-page-header-heading-extra{float:left}.ant-page-header-rtl .ant-page-header-heading-extra>*{margin-right:12px;margin-left:0}.ant-pagination,.ant-pagination ol,.ant-pagination ul{margin:0;list-style:none;padding:0}.ant-page-header-rtl .ant-page-header-heading-extra>:first-child{margin-right:0}.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav{float:right}.ant-page-header-back-button{border:0;background:0 0;padding:0;line-height:inherit;display:inline-block}nz-page-header,nz-page-header-content,nz-page-header-footer{display:block}.ant-pagination{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;font-feature-settings:tnum}.ant-pagination::after{display:block;clear:both;height:0;overflow:hidden;visibility:hidden;content:' '}.ant-pagination-item,.ant-pagination-total-text{display:inline-block;margin-right:8px;vertical-align:middle;line-height:30px}.ant-pagination-total-text{height:32px}.ant-pagination-item{min-width:32px;height:32px;text-align:center;list-style:none;background-color:transparent;border:1px solid #434343;border-radius:2px;outline:0;cursor:pointer;user-select:none}.ant-pagination-item a{display:block;padding:0 6px;color:rgba(255,255,255,.85);transition:none}.ant-pagination-item-active a,.ant-pagination-item:focus-visible a,.ant-pagination-item:hover a{color:#177ddc}.ant-pagination-item a:hover{text-decoration:none}.ant-pagination-item:focus-visible,.ant-pagination-item:hover{border-color:#177ddc;transition:all .3s}.ant-pagination-item-active{font-weight:500;background:0 0;border-color:#177ddc}.ant-pagination-item-active:focus-visible,.ant-pagination-item-active:hover,.ant-pagination-next:hover button,.ant-pagination-prev:hover button{border-color:#165996}.ant-pagination-item-active:focus-visible a,.ant-pagination-item-active:hover a{color:#165996}.ant-pagination-jump-next,.ant-pagination-jump-prev{outline:0}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon{color:#177ddc;font-size:12px;letter-spacing:-1px;opacity:0;transition:all .2s}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg{top:0;right:0;bottom:0;left:0;margin:auto}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:auto;color:rgba(255,255,255,.3);font-family:Arial,Helvetica,sans-serif;letter-spacing:2px;text-align:center;text-indent:.13em;opacity:1;transition:all .2s}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev,.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror,.ant-statistic-content,.ant-steps-item-icon{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-next:hover .ant-pagination-item-link-icon,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon{opacity:1}.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis{opacity:0}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-prev{margin-right:8px}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev{display:inline-block;min-width:32px;height:32px;color:rgba(255,255,255,.85);line-height:32px;text-align:center;vertical-align:middle;list-style:none;border-radius:2px;cursor:pointer;transition:all .3s}.ant-pagination-next,.ant-pagination-prev{font-family:Arial,Helvetica,sans-serif;outline:0}.ant-pagination-next button,.ant-pagination-prev button{color:rgba(255,255,255,.85);cursor:pointer;user-select:none}.ant-pagination-next .ant-pagination-item-link,.ant-pagination-prev .ant-pagination-item-link{display:block;width:100%;height:100%;padding:0;font-size:12px;text-align:center;background-color:transparent;border:1px solid #434343;border-radius:2px;outline:0;transition:all .3s}.ant-pagination-next:focus-visible .ant-pagination-item-link,.ant-pagination-next:hover .ant-pagination-item-link,.ant-pagination-prev:focus-visible .ant-pagination-item-link,.ant-pagination-prev:hover .ant-pagination-item-link{color:#177ddc;border-color:#177ddc}.ant-pagination-disabled,.ant-pagination-disabled:focus-visible,.ant-pagination-disabled:hover{cursor:not-allowed}.ant-pagination-disabled .ant-pagination-item-link,.ant-pagination-disabled:focus-visible .ant-pagination-item-link,.ant-pagination-disabled:hover .ant-pagination-item-link{color:rgba(255,255,255,.3);border-color:#434343;cursor:not-allowed}.ant-pagination-slash{margin:0 10px 0 5px}.ant-pagination-options{display:inline-block;margin-left:16px;vertical-align:middle}@media all and (-ms-high-contrast:none){.ant-pagination-options,.ant-pagination-options ::-ms-backdrop{vertical-align:top}}.ant-pagination-options-size-changer.ant-select{display:inline-block;width:auto}.ant-pagination-options-quick-jumper{display:inline-block;height:32px;margin-left:8px;line-height:32px;vertical-align:top}.ant-pagination-options-quick-jumper input{position:relative;display:inline-block;min-width:0;padding:4px 11px;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;background-color:transparent;background-image:none;border:1px solid #434343;border-radius:2px;transition:all .3s;width:50px;height:32px;margin:0 8px}.ant-pagination-options-quick-jumper input-disabled,.ant-pagination-options-quick-jumper input[disabled]{background-color:rgba(255,255,255,.08);opacity:1;color:rgba(255,255,255,.3);cursor:not-allowed;pointer-events:none}.ant-pagination-options-quick-jumper input::-moz-placeholder{opacity:1}.ant-pagination-options-quick-jumper input::placeholder{color:rgba(255,255,255,.3)}.ant-pagination-options-quick-jumper input:placeholder-shown{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-pagination-options-quick-jumper input:hover{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-focused,.ant-pagination-options-quick-jumper input:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-pagination-options-quick-jumper input-focused,.ant-input-rtl .ant-pagination-options-quick-jumper input:focus{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-disabled:hover,.ant-pagination-options-quick-jumper input[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-pagination-options-quick-jumper input-borderless,.ant-pagination-options-quick-jumper input-borderless-disabled,.ant-pagination-options-quick-jumper input-borderless-focused,.ant-pagination-options-quick-jumper input-borderless:focus,.ant-pagination-options-quick-jumper input-borderless:hover,.ant-pagination-options-quick-jumper input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-pagination-options-quick-jumper input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-pagination-options-quick-jumper input-lg{padding:6.5px 11px;font-size:16px}.ant-pagination-options-quick-jumper input-sm{padding:0 7px}.ant-pagination-simple .ant-pagination-next,.ant-pagination-simple .ant-pagination-prev{height:24px;line-height:24px;vertical-align:top}.ant-progress-inner,.ant-progress-text,.ant-rate-star-first .anticon,.ant-rate-star-second .anticon,.ant-spin,.ant-switch,.ant-transfer-operation{vertical-align:middle}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link{height:24px;background-color:transparent;border:0}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after{height:24px;line-height:24px}.ant-pagination-simple .ant-pagination-simple-pager{display:inline-block;height:24px;margin-right:8px}.ant-pagination-simple .ant-pagination-simple-pager input{box-sizing:border-box;height:100%;margin-right:8px;padding:0 6px;text-align:center;background-color:transparent;border:1px solid #434343;border-radius:2px;outline:0;transition:border-color .3s}.ant-pagination-simple .ant-pagination-simple-pager input:hover{border-color:#177ddc}.ant-pagination-simple .ant-pagination-simple-pager input[disabled]{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active),.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link{background:0 0;border-color:transparent}.ant-pagination.mini .ant-pagination-simple-pager,.ant-pagination.mini .ant-pagination-total-text{height:24px;line-height:24px}.ant-pagination.mini .ant-pagination-item{min-width:24px;height:24px;margin:0;line-height:22px}.ant-pagination.mini .ant-pagination-next,.ant-pagination.mini .ant-pagination-prev{min-width:24px;height:24px;margin:0;line-height:24px}.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link::after{height:24px;line-height:24px}.ant-pagination.mini .ant-pagination-jump-next,.ant-pagination.mini .ant-pagination-jump-prev{height:24px;margin-right:0;line-height:24px}.ant-pagination.mini .ant-pagination-options{margin-left:2px}.ant-pagination.mini .ant-pagination-options-size-changer{top:0}.ant-pagination.mini .ant-pagination-options-quick-jumper{height:24px;line-height:24px}.ant-popover,.ant-progress{line-height:1.5715;font-size:14px;box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-pagination.mini .ant-pagination-options-quick-jumper input{padding:0 7px;width:44px;height:24px}.ant-pagination.ant-pagination-disabled{cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item{background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item a{color:rgba(255,255,255,.3);background:0 0;border:none;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active{background:rgba(255,255,255,.25);border-color:transparent}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a{color:#000}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{background:0 0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon{opacity:0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis{opacity:1}.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager{color:rgba(255,255,255,.3)}@media only screen and (max-width:992px){.ant-pagination-item-after-jump-prev,.ant-pagination-item-before-jump-next{display:none}}@media only screen and (max-width:576px){.ant-pagination-options{display:none}}.ant-pagination-rtl .ant-pagination-item,.ant-pagination-rtl .ant-pagination-jump-next,.ant-pagination-rtl .ant-pagination-jump-prev,.ant-pagination-rtl .ant-pagination-prev,.ant-pagination-rtl .ant-pagination-total-text{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-slash{margin:0 5px 0 10px}.ant-pagination-rtl .ant-pagination-options{margin-right:16px;margin-left:0}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper{margin-left:0}.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager,.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input{margin-right:0;margin-left:8px}.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options{margin-right:2px;margin-left:0}.ant-popover,.ant-popover-title{margin:0;color:rgba(255,255,255,.85)}nz-pagination{display:block}.ant-popover-hidden,.ant-radio+span:empty{display:none}.ant-popover{padding:0;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:left;cursor:auto;user-select:text}.ant-popover::after{position:absolute;background:rgba(255,255,255,.01);content:''}.ant-popover-placement-top,.ant-popover-placement-topLeft,.ant-popover-placement-topRight{padding-bottom:10px}.ant-popover-placement-right,.ant-popover-placement-rightBottom,.ant-popover-placement-rightTop{padding-left:10px}.ant-popover-placement-bottom,.ant-popover-placement-bottomLeft,.ant-popover-placement-bottomRight{padding-top:10px}.ant-popover-placement-left,.ant-popover-placement-leftBottom,.ant-popover-placement-leftTop{padding-right:10px}.ant-popover-inner{background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;box-shadow:0 0 8px rgba(0,0,0,.45)\9}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-popover-inner{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}}.ant-popover-title{min-width:177px;min-height:32px;padding:5px 16px 4px;font-weight:500;border-bottom:1px solid #303030}.ant-popover-inner-content{padding:12px 16px;color:rgba(255,255,255,.85)}.ant-popover-message{position:relative;padding:4px 0 12px;color:rgba(255,255,255,.85);font-size:14px}.ant-popover-message>.anticon{position:absolute;top:8px;color:#d89614;font-size:14px}.ant-popover-message-title{padding-left:22px}.ant-popover-buttons{margin-bottom:4px;text-align:right}.ant-popover-buttons button{margin-left:8px}.ant-popover-arrow{position:absolute;display:block;width:8.49px;height:8.49px;overflow:hidden;background:0 0;pointer-events:none}.ant-popover-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:6px;height:6px;margin:auto;background-color:#1f1f1f;content:'';pointer-events:auto}.ant-popover-placement-top .ant-popover-arrow,.ant-popover-placement-topLeft .ant-popover-arrow,.ant-popover-placement-topRight .ant-popover-arrow{bottom:1.51px}.ant-popover-placement-top .ant-popover-arrow-content,.ant-popover-placement-topLeft .ant-popover-arrow-content,.ant-popover-placement-topRight .ant-popover-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-4.24px) rotate(45deg)}.ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-topLeft .ant-popover-arrow{left:16px}.ant-popover-placement-topRight .ant-popover-arrow{right:16px}.ant-popover-placement-right .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow,.ant-popover-placement-rightTop .ant-popover-arrow{left:1.51px}.ant-popover-placement-right .ant-popover-arrow-content,.ant-popover-placement-rightBottom .ant-popover-arrow-content,.ant-popover-placement-rightTop .ant-popover-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(4.24px) rotate(45deg)}.ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-rightTop .ant-popover-arrow{top:12px}.ant-popover-placement-bottom .ant-popover-arrow,.ant-popover-placement-bottomLeft .ant-popover-arrow,.ant-popover-placement-bottomRight .ant-popover-arrow{top:1.51px}.ant-popover-placement-bottom .ant-popover-arrow-content,.ant-popover-placement-bottomLeft .ant-popover-arrow-content,.ant-popover-placement-bottomRight .ant-popover-arrow-content{box-shadow:-2px -2px 5px rgba(0,0,0,.06);transform:translateY(4.24px) rotate(45deg)}.ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-bottomLeft .ant-popover-arrow{left:16px}.ant-popover-placement-bottomRight .ant-popover-arrow{right:16px}.ant-popover-placement-left .ant-popover-arrow,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-leftTop .ant-popover-arrow{right:1.51px}.ant-popover-placement-left .ant-popover-arrow-content,.ant-popover-placement-leftBottom .ant-popover-arrow-content,.ant-popover-placement-leftTop .ant-popover-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-4.24px) rotate(45deg)}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within,.ant-radio-button-wrapper:focus-within,.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within,.ant-radio-input:focus+.ant-radio-inner{box-shadow:0 0 0 3px rgba(23,125,220,.08)}.ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-leftTop .ant-popover-arrow{top:12px}.ant-popover-magenta .ant-popover-arrow-content,.ant-popover-magenta .ant-popover-inner,.ant-popover-pink .ant-popover-arrow-content,.ant-popover-pink .ant-popover-inner{background-color:#cb2b83}.ant-popover-red .ant-popover-arrow-content,.ant-popover-red .ant-popover-inner{background-color:#d32029}.ant-popover-volcano .ant-popover-arrow-content,.ant-popover-volcano .ant-popover-inner{background-color:#d84a1b}.ant-popover-orange .ant-popover-arrow-content,.ant-popover-orange .ant-popover-inner{background-color:#d87a16}.ant-popover-yellow .ant-popover-arrow-content,.ant-popover-yellow .ant-popover-inner{background-color:#d8bd14}.ant-popover-gold .ant-popover-arrow-content,.ant-popover-gold .ant-popover-inner{background-color:#d89614}.ant-popover-cyan .ant-popover-arrow-content,.ant-popover-cyan .ant-popover-inner{background-color:#13a8a8}.ant-popover-lime .ant-popover-arrow-content,.ant-popover-lime .ant-popover-inner{background-color:#8bbb11}.ant-popover-green .ant-popover-arrow-content,.ant-popover-green .ant-popover-inner{background-color:#49aa19}.ant-popover-blue .ant-popover-arrow-content,.ant-popover-blue .ant-popover-inner{background-color:#177ddc}.ant-popover-geekblue .ant-popover-arrow-content,.ant-popover-geekblue .ant-popover-inner{background-color:#2b4acb}.ant-popover-purple .ant-popover-arrow-content,.ant-popover-purple .ant-popover-inner{background-color:#642ab5}.ant-popover-rtl{text-align:right}.ant-popover-rtl .ant-popover-message-title{padding-right:22px;padding-left:16px}.ant-popover-rtl .ant-popover-buttons{text-align:left}.ant-popover-rtl .ant-popover-buttons button{margin-right:8px;margin-left:0}.ant-popover{position:relative}.ant-progress{margin:0;padding:0;color:rgba(255,255,255,.85);display:inline-block}.ant-progress-line{position:relative;width:100%;font-size:14px}.ant-progress-steps{display:inline-block}.ant-progress-steps-outer{display:flex;flex-direction:row;align-items:center}.ant-progress-steps-item{flex-shrink:0;min-width:2px;margin-right:2px;background:rgba(255,255,255,.08);transition:all .3s}.ant-progress-steps-item-active{background:#177ddc}.ant-progress-small.ant-progress-line,.ant-progress-small.ant-progress-line .ant-progress-text .anticon{font-size:12px}.ant-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0}.ant-progress-show-info .ant-progress-outer{margin-right:calc(-2em - 8px);padding-right:calc(2em + 8px)}.ant-progress-inner{position:relative;display:inline-block;width:100%;overflow:hidden;background-color:rgba(255,255,255,.08);border-radius:100px}.ant-progress-circle-trail{stroke:rgba(255,255,255,.08)}.ant-progress-circle-path{animation:ant-progress-appear .3s}.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#177ddc}.ant-progress-bg,.ant-progress-success-bg{position:relative;background-color:#177ddc;border-radius:100px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.ant-progress-success-bg{position:absolute;top:0;left:0;background-color:#49aa19}.ant-progress-text{display:inline-block;width:2em;margin-left:8px;color:rgba(255,255,255,.85);font-size:1em;line-height:1;white-space:nowrap;text-align:left;word-break:normal}.ant-progress-text .anticon{font-size:14px}.ant-progress-status-active .ant-progress-bg::before{position:absolute;top:0;right:0;bottom:0;left:0;background:#141414;border-radius:10px;opacity:0;animation:ant-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;content:''}.ant-progress-status-exception .ant-progress-bg{background-color:#a61d24}.ant-progress-status-exception .ant-progress-text{color:#a61d24}.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#a61d24}.ant-progress-status-success .ant-progress-bg{background-color:#49aa19}.ant-progress-status-success .ant-progress-text{color:#49aa19}.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#49aa19}.ant-progress-circle .ant-progress-inner{position:relative;line-height:1;background-color:transparent}.ant-progress-circle .ant-progress-text{position:absolute;top:50%;left:50%;width:100%;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:1em;line-height:1;white-space:normal;text-align:center;transform:translate(-50%,-50%)}.ant-progress-circle .ant-progress-text .anticon{font-size:1.16666667em}.ant-progress-circle.ant-progress-status-exception .ant-progress-text{color:#a61d24}.ant-progress-circle.ant-progress-status-success .ant-progress-text{color:#49aa19}@keyframes ant-progress-active{0%{transform:translateX(-100%) scaleX(0);opacity:.1}20%{transform:translateX(-100%) scaleX(0);opacity:.5}100%{transform:translateX(0) scaleX(1);opacity:0}}.ant-progress-rtl.ant-progress-show-info .ant-progress-outer{margin-right:0;margin-left:calc(-2em - 8px);padding-right:0;padding-left:calc(2em + 8px)}.ant-progress-rtl .ant-progress-success-bg{right:0;left:auto}.ant-progress-rtl.ant-progress-line .ant-progress-text,.ant-progress-rtl.ant-progress-steps .ant-progress-text{margin-right:8px;margin-left:0;text-align:right}.ant-radio-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;font-size:0;line-height:unset}.ant-radio,.ant-radio-wrapper{box-sizing:border-box;padding:0;color:rgba(255,255,255,.85);line-height:1.5715;position:relative;cursor:pointer;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-radio-group .ant-badge-count{z-index:1}.ant-radio-group>.ant-badge:not(:first-child)>.ant-radio-button-wrapper{border-left:none}.ant-radio-wrapper{margin:0 8px 0 0;display:inline-flex;align-items:baseline}.ant-radio-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-radio{margin:0;top:.2em;display:inline-block;outline:0}.ant-radio-input:focus+.ant-radio-inner,.ant-radio-wrapper:hover .ant-radio,.ant-radio:hover .ant-radio-inner{border-color:#177ddc}.ant-radio-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:50%;visibility:hidden;animation:antRadioEffect .36s ease-in-out;animation-fill-mode:both;content:''}.ant-radio-inner,.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle{border-radius:50%}.ant-radio-wrapper:hover .ant-radio::after,.ant-radio:hover::after,.ant-tooltip{visibility:visible}.ant-radio-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;background-color:transparent;border-color:#434343;border-style:solid;border-width:1px;transition:all .3s}.ant-radio-inner::after{position:absolute;top:3px;left:3px;display:block;width:8px;height:8px;background-color:#177ddc;border-top:0;border-left:0;border-radius:8px;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:' '}.ant-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;opacity:0}.ant-radio-button-wrapper-disabled,.ant-radio-disabled,.ant-radio-disabled .ant-radio-inner,.ant-radio-disabled .ant-radio-input,.ant-radio-disabled+span{cursor:not-allowed}.ant-radio-checked .ant-radio-inner{border-color:#177ddc}.ant-radio-checked .ant-radio-inner::after{transform:scale(1);opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86)}.ant-radio-disabled .ant-radio-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-radio-disabled .ant-radio-inner::after{background-color:rgba(255,255,255,.2)}.ant-radio-disabled+span{color:rgba(255,255,255,.3)}.ant-radio-button-wrapper,.ant-radio-button-wrapper a,.ant-select{color:rgba(255,255,255,.85)}span.ant-radio+*{padding-right:8px;padding-left:8px}.ant-radio-button-wrapper{position:relative;display:inline-block;height:32px;margin:0;padding:0 15px;font-size:14px;line-height:30px;background:0 0;border:1px solid #434343;border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color .3s,background .3s,border-color .3s,box-shadow .3s}.ant-radio-button-wrapper>.ant-radio-button{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.ant-radio-group-large .ant-radio-button-wrapper{height:40px;font-size:16px;line-height:38px}.ant-radio-group-small .ant-radio-button-wrapper{height:24px;padding:0 7px;line-height:22px}.ant-radio-button-wrapper:not(:first-child)::before{position:absolute;top:-1px;left:-1px;display:block;box-sizing:content-box;width:1px;height:100%;padding:1px 0;background-color:#434343;transition:background-color .3s;content:''}.ant-radio-button-wrapper:first-child{border-left:1px solid #434343;border-radius:2px 0 0 2px}.ant-radio-button-wrapper:last-child{border-radius:0 2px 2px 0}.ant-radio-button-wrapper:first-child:last-child{border-radius:2px}.ant-radio-button-wrapper:hover{position:relative;color:#177ddc}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type=radio],.ant-radio-button-wrapper input[type=checkbox]{width:0;height:0;opacity:0;pointer-events:none}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#177ddc;background:0 0;border-color:#177ddc}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before{background-color:#177ddc}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#177ddc}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#165996;border-color:#165996}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before{background-color:#165996}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#388ed3;border-color:#388ed3}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before{background-color:#388ed3}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#177ddc;border-color:#177ddc}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#165996;border-color:#165996}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#388ed3;border-color:#388ed3}.ant-radio-button-wrapper-disabled,.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:rgba(255,255,255,.3);background-color:rgba(255,255,255,.08);border-color:#434343}.ant-radio-button-wrapper-disabled:first-child{border-left-color:#434343}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:rgba(255,255,255,.3);background-color:rgba(255,255,255,.2);border-color:#434343;box-shadow:none}@keyframes antRadioEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-radio-wrapper.ant-radio-wrapper-rtl{margin-right:0;margin-left:8px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl{border-right-width:0;border-left-width:1px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before{right:-1px;left:0}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child{border-right:1px solid #434343;border-radius:0 2px 2px 0}.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child{border-right-color:#165996}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child{border-radius:2px 0 0 2px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child{border-right-color:#434343}.ant-rate,.ant-rate-star,.ant-rate-text{display:inline-block}.ant-rate{box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;margin:0;padding:0;color:#d8bd14;font-size:20px;line-height:unset;list-style:none;outline:0}.ant-rate-disabled .ant-rate-star{cursor:default}.ant-rate-disabled .ant-rate-star:hover{transform:scale(1)}.ant-rate-star{position:relative;color:inherit;cursor:pointer}.ant-rate-star:not(:last-child){margin-right:8px}.ant-rate-star>div{transition:all .3s}.ant-rate-star>div:focus-visible,.ant-rate-star>div:hover{transform:scale(1.1)}.ant-rate-star>div:focus:not(:focus-visible){outline:0}.ant-rate-star-first,.ant-rate-star-second{color:rgba(255,255,255,.12);transition:all .3s;user-select:none}.ant-rate-star-first{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;opacity:0}.ant-rate-star-half .ant-rate-star-first,.ant-rate-star-half .ant-rate-star-second{opacity:1}.ant-rate-star-full .ant-rate-star-second,.ant-rate-star-half .ant-rate-star-first{color:inherit}.ant-rate-text{margin:0 8px;font-size:14px}.ant-rate-rtl .ant-rate-star:not(:last-child){margin-right:0;margin-left:8px}.ant-rate-rtl .ant-rate-star-first{right:0;left:auto}.ant-select-single .ant-select-selector{display:flex}.ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;right:11px;bottom:0;left:11px}.ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%}.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:30px;transition:all .3s}@supports (-moz-appearance:meterbar){.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:30px}}.ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;user-select:none}.ant-select-single .ant-select-selector .ant-select-selection-placeholder{pointer-events:none}.ant-select-single .ant-select-selector .ant-select-selection-item::after,.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single .ant-select-selector::after{display:inline-block;width:0;visibility:hidden;content:'\a0'}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single.ant-select-customize-input .ant-select-selector::after{display:none}.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:25px}.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:18px}.ant-select-single.ant-select-open .ant-select-selection-item{color:rgba(255,255,255,.3)}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:32px;padding:0 11px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:30px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after{line-height:30px}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;right:0;left:0;padding:0 11px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{height:40px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after{line-height:38px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:38px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{height:24px;padding:0 7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after{line-height:22px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:22px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{right:7px;left:7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:28px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:21px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{padding:0 11px}.ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%}.ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%}.ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px}.ant-select-show-search.ant-select-multiple .ant-select-selector{cursor:text}.ant-select-disabled.ant-select-multiple .ant-select-selector{background:#141414;cursor:not-allowed}.ant-select-multiple .ant-select-selector::after{display:inline-block;width:0;margin:2px 0;line-height:24px;content:'\a0'}.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:24px}.ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:24px;margin-top:2px;margin-bottom:2px;line-height:22px;background:rgba(255,255,255,.08);border:1px solid #303030;border-radius:2px;cursor:default;transition:font-size .3s,line-height .3s,height .3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px}.ant-select-disabled.ant-select-multiple .ant-select-selection-item{color:#595959;border-color:#1f1f1f;cursor:not-allowed}.ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-right:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.ant-select-multiple .ant-select-selection-item-remove{color:inherit;text-align:center;text-transform:none;vertical-align:-.125em;display:inline-block;color:rgba(255,255,255,.45);font-weight:700;font-size:10px;line-height:inherit;cursor:pointer}.ant-select-multiple .ant-select-selection-item-remove>*{line-height:1}.ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block}.ant-select-multiple .ant-select-selection-item-remove::before{display:none}.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon{display:block}.ant-select-multiple .ant-select-selection-item-remove>.anticon{vertical-align:-.2em}.ant-select-multiple .ant-select-selection-item-remove:hover{color:rgba(255,255,255,.75)}.ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0}.ant-select-multiple .ant-select-selection-search{position:relative;max-width:100%;margin-top:2px;margin-bottom:2px;margin-inline-start:7px}.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror{height:24px;line-height:24px;transition:all .3s}.ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px}.ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;left:0;z-index:999;white-space:pre;visibility:hidden}.ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;right:11px;left:11px;transform:translateY(-50%);transition:all .3s}.ant-select-multiple.ant-select-lg .ant-select-selector::after{line-height:32px}.ant-select-multiple.ant-select-lg .ant-select-selection-search{height:32px;line-height:32px}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:32px;line-height:30px}.ant-select-multiple.ant-select-sm .ant-select-selector::after{line-height:16px}.ant-select-multiple.ant-select-sm .ant-select-selection-item{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-search{height:16px;line-height:16px;margin-inline-start:3px}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{left:7px}.ant-select-multiple.ant-select-lg .ant-select-selection-item{height:32px;line-height:32px}.ant-select-disabled .ant-select-selection-item-remove{display:none}.ant-select{box-sizing:border-box;margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;display:inline-block;cursor:pointer}.ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:transparent;border:1px solid #434343;border-radius:2px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto}.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);cursor:not-allowed}.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#141414}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:0 0;border:none;outline:0;appearance:none}.ant-select-arrow,.ant-select-clear{position:absolute;right:11px;width:12px;height:12px;margin-top:-6px;font-size:12px;line-height:1;text-transform:none;text-align:center}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.ant-select-arrow,.ant-select-arrow svg,.ant-select-clear{display:inline-block}.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-selection-item{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media all and (-ms-high-contrast:none){.ant-select-selection-item,.ant-select-selection-item ::-ms-backdrop{flex:auto}}.ant-select-selection-placeholder{flex:1;overflow:hidden;color:rgba(255,255,255,.3);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}@media all and (-ms-high-contrast:none){.ant-select-selection-placeholder,.ant-select-selection-placeholder ::-ms-backdrop{flex:auto}}.ant-select-arrow{color:inherit;vertical-align:-.125em;top:53%;color:rgba(255,255,255,.3);pointer-events:none}.ant-select-arrow>*{line-height:1}.ant-select-arrow::before{display:none}.ant-select-arrow .ant-select-arrow-icon{display:block}.ant-select-arrow .anticon{vertical-align:top;transition:transform .3s}.ant-select-arrow .anticon>svg{vertical-align:top}.ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto}.ant-select-disabled .ant-select-arrow{cursor:not-allowed}.ant-select-clear{top:50%;z-index:1;color:rgba(255,255,255,.3);font-style:normal;background:#141414;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease;text-rendering:auto}.ant-select-clear::before{display:block}.ant-select-clear:hover{color:rgba(255,255,255,.45)}.ant-select:hover .ant-select-clear{opacity:1}.ant-select-dropdown{margin:0;color:rgba(255,255,255,.85);line-height:1.5715;list-style:none;font-feature-settings:tnum;z-index:1050;box-sizing:border-box;padding:4px 0;overflow:hidden;font-size:14px;font-variant:initial;background-color:#1f1f1f;border-radius:2px;outline:0}.ant-select-dropdown-empty,.ant-select-item-empty{color:rgba(255,255,255,.3)}.ant-select-item,.ant-select-item-empty{display:block;min-height:32px;padding:5px 12px;position:relative;font-size:14px;line-height:22px;font-weight:400}.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownIn}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpOut}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownOut}.ant-select-item{color:rgba(255,255,255,.85);cursor:pointer;transition:background .3s ease}.ant-select-item-group{color:rgba(255,255,255,.45);font-size:12px;cursor:default}.ant-select-item-option{display:flex}.ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-select-item-option-state{flex:none}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:rgba(255,255,255,.08)}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:rgba(255,255,255,.85);font-weight:600;background-color:#111b26}.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#177ddc}.ant-select-item-option-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-select-item-option-grouped{padding-left:24px}.ant-select-lg{font-size:16px}.ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-select-rtl .ant-select-arrow,.ant-select-rtl .ant-select-clear{right:initial;left:11px}.ant-select-dropdown-rtl .ant-select-item-option-grouped{padding-right:24px;padding-left:12px}.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:4px;padding-left:24px}.ant-select-rtl.ant-select-multiple .ant-select-selection-item{text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content{margin-right:0;margin-left:4px;text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror{right:0;left:auto}.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder{right:11px;left:auto}.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{right:7px}.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder{right:0;left:9px;text-align:right}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:11px;left:25px}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:18px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:6px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:21px}.ant-select-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;display:block}.ant-select-dropdown .cdk-virtual-scroll-content-wrapper{right:0}.ant-select-dropdown .full-width{contain:initial}.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper{position:static}.ant-skeleton{display:table;width:100%}.ant-skeleton-header{display:table-cell;padding-right:16px;vertical-align:top}.ant-skeleton-header .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:32px;height:32px;line-height:32px}.ant-skeleton-header .ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px}.ant-skeleton-header .ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px}.ant-skeleton-content{display:table-cell;width:100%;vertical-align:top}.ant-skeleton-content .ant-skeleton-title{width:100%;height:16px;margin-top:16px;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:24px}.ant-skeleton-content .ant-skeleton-paragraph{padding:0}.ant-skeleton-content .ant-skeleton-paragraph>li{width:100%;height:16px;list-style:none;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.ant-skeleton-content .ant-skeleton-paragraph>li+li{margin-top:16px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title{margin-top:12px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:28px}.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title{border-radius:100px}.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-image,.ant-skeleton.ant-skeleton-active .ant-skeleton-input{background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(255,255,255,.16) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;animation:ant-skeleton-loading 1.4s ease infinite}.ant-skeleton-element{display:inline-block;width:auto}.ant-skeleton-element .ant-skeleton-button{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);border-radius:2px;width:64px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle{width:32px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round{border-radius:32px}.ant-skeleton-element .ant-skeleton-button-lg{width:80px;height:40px;line-height:40px}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle{width:40px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round{border-radius:40px}.ant-skeleton-element .ant-skeleton-button-sm{width:48px;height:24px;line-height:24px}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle{width:24px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round{border-radius:24px}.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle,.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle{border-radius:50%}.ant-skeleton-element .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:32px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px}.ant-skeleton-element .ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px}.ant-skeleton-element .ant-skeleton-input{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:100%;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-input-lg{width:100%;height:40px;line-height:40px}.ant-skeleton-element .ant-skeleton-input-sm{width:100%;height:24px;line-height:24px}.ant-skeleton-element .ant-skeleton-image{display:flex;align-items:center;justify-content:center;vertical-align:top;background:rgba(190,190,190,.2);width:96px;height:96px;line-height:96px}.ant-skeleton-element .ant-skeleton-image-path{fill:#bfbfbf}.ant-skeleton-element .ant-skeleton-image-svg{width:48px;height:48px;line-height:48px;max-width:192px;max-height:192px}@keyframes ant-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.ant-skeleton-rtl .ant-skeleton-header{padding-right:0;padding-left:16px}.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title{animation-name:ant-skeleton-loading-rtl}@keyframes ant-skeleton-loading-rtl{0%{background-position:0 50%}100%{background-position:100% 50%}}.ant-slider{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;height:12px;margin:10px 6px;padding:4px 0;cursor:pointer;touch-action:none}.ant-slider-vertical{width:12px;height:100%;margin:6px 10px;padding:0 4px}.ant-slider-vertical .ant-slider-rail{width:4px;height:100%}.ant-slider-vertical .ant-slider-track{width:4px}.ant-slider-vertical .ant-slider-handle{margin-top:-6px;margin-left:-5px}.ant-slider-vertical .ant-slider-mark{top:0;left:12px;width:18px;height:100%}.ant-slider-vertical .ant-slider-mark-text{left:4px;white-space:nowrap}.ant-slider-vertical .ant-slider-step{width:4px;height:100%}.ant-slider-rail,.ant-slider-track{position:absolute;height:4px;transition:background-color .3s}.ant-slider-vertical .ant-slider-dot{top:auto;left:2px;margin-bottom:-4px}.ant-slider-tooltip .ant-tooltip-inner{min-width:unset}.ant-slider-rtl.ant-slider-vertical .ant-slider-handle{margin-right:-5px;margin-left:0}.ant-slider-dot,.ant-slider-dot:first-child,.ant-slider-dot:last-child{margin-left:-4px}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark{right:12px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text{right:4px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-dot{right:2px;left:auto}.ant-slider-with-marks{margin-bottom:28px}.ant-slider-rail{width:100%;background-color:#262626;border-radius:2px}.ant-slider-track{background-color:#153450;border-radius:2px}.ant-slider-dot,.ant-slider-handle{background-color:#141414;cursor:pointer;position:absolute}.ant-slider-handle{width:14px;height:14px;margin-top:-5px;border:2px solid #153450;border-radius:50%;box-shadow:0;transition:border-color .3s,box-shadow .6s,transform .3s cubic-bezier(.18,.89,.32,1.28)}.ant-slider:hover .ant-slider-rail,.ant-tooltip-inner{background-color:#434343}.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging,.ant-slider-handle:focus{border-color:#4697e3;box-shadow:0 0 0 5px rgba(23,125,220,.12)}.ant-slider-handle:focus{outline:0}.ant-slider-handle.ant-tooltip-open{border-color:#177ddc}.ant-slider:hover .ant-slider-track{background-color:#16436e}.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open){border-color:#16436e}.ant-slider-mark{position:absolute;top:14px;left:0;width:100%;font-size:14px}.ant-slider-mark-text{position:absolute;display:inline-block;color:rgba(255,255,255,.45);text-align:center;word-break:keep-all;cursor:pointer;user-select:none}.ant-slider-mark-text-active{color:rgba(255,255,255,.85)}.ant-slider-step{position:absolute;width:100%;height:4px;background:0 0}.ant-slider-dot{top:-2px;width:8px;height:8px;border:2px solid #303030;border-radius:50%}.ant-slider-dot-active{border-color:#16436e}.ant-slider-disabled{cursor:not-allowed}.ant-slider-disabled .ant-slider-track{background-color:rgba(255,255,255,.3)!important}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-handle{background-color:#141414;border-color:rgba(255,255,255,.3)!important;box-shadow:none;cursor:not-allowed}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-mark-text{cursor:not-allowed!important}.ant-slider-rtl .ant-slider-mark{right:0;left:auto}.ant-slider-rtl .ant-slider-dot,.ant-slider-rtl .ant-slider-dot:first-child,.ant-slider-rtl .ant-slider-dot:last-child{margin-right:-4px;margin-left:0}.ant-spin,.ant-statistic{margin:0;line-height:1.5715;box-sizing:border-box}.ant-spin{padding:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:absolute;display:none;color:#177ddc;text-align:center;opacity:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86)}.ant-spin-spinning{position:static;display:inline-block;opacity:1}.ant-spin-nested-loading{position:relative}.ant-spin-nested-loading>div>.ant-spin{position:absolute;top:0;left:0;z-index:4;display:block;width:100%;height:100%;max-height:400px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-dot{position:absolute;top:50%;left:50%;margin:-10px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:5px;text-shadow:0 1px 2px #141414}.ant-spin-nested-loading>div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-dot{margin:-7px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-text{padding-top:2px}.ant-spin-nested-loading>div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-dot{margin:-16px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-text{padding-top:11px}.ant-statistic,.ant-steps{padding:0;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-spin-nested-loading>div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px}.ant-spin-container{position:relative;transition:opacity .3s}.ant-spin-container::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:none\9;width:100%;height:100%;background:#141414;opacity:0;transition:all .3s;content:'';pointer-events:none}.ant-spin-blur{clear:both;overflow:hidden;opacity:.5;user-select:none;pointer-events:none}.ant-spin-blur::after{opacity:.4;pointer-events:auto}.ant-spin-tip{color:rgba(255,255,255,.45)}.ant-spin-dot{position:relative;display:inline-block;font-size:20px;width:1em;height:1em}.ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#177ddc;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.ant-spin-dot-item:nth-child(1){top:0;left:0}.ant-spin-dot-item:nth-child(2){top:0;right:0;animation-delay:.4s}.ant-spin-dot-item:nth-child(3){right:0;bottom:0;animation-delay:.8s}.ant-spin-dot-item:nth-child(4){bottom:0;left:0;animation-delay:1.2s}.ant-spin-dot-spin{transform:rotate(45deg);animation:antRotate 1.2s infinite linear}.ant-spin-sm .ant-spin-dot{font-size:14px}.ant-spin-sm .ant-spin-dot i{width:6px;height:6px}.ant-spin-lg .ant-spin-dot{font-size:32px}.ant-spin-lg .ant-spin-dot i{width:14px;height:14px}.ant-spin.ant-spin-show-text .ant-spin-text{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ant-spin-blur{background:#141414;opacity:.5}}@keyframes antSpinMove{to{opacity:1}}@keyframes antRotate{to{transform:rotate(405deg)}}.ant-spin-rtl .ant-spin-dot-spin{transform:rotate(-45deg);animation-name:antRotateRtl}@keyframes antRotateRtl{to{transform:rotate(-405deg)}}nz-spin{display:block}.ant-statistic{color:rgba(255,255,255,.85);font-size:14px}.ant-statistic-title{margin-bottom:4px;color:rgba(255,255,255,.45);font-size:14px}.ant-statistic-content{color:rgba(255,255,255,.85);font-size:24px}.ant-statistic-content-value{display:inline-block;direction:ltr}.ant-cascader-menu-rtl .ant-cascader-menu,.ant-cascader-picker-rtl,.ant-statistic-rtl,.ant-steps-rtl,.ant-switch-rtl,.ant-table-rtl,.ant-table-wrapper-rtl,.ant-tabs-dropdown-rtl,.ant-tabs-rtl,.ant-tag.ant-tag-rtl,.ant-timeline-rtl,.ant-tooltip-rtl,.ant-transfer-rtl,.ant-tree .ant-tree-treenode-rtl,.ant-tree-checkbox-rtl,.ant-tree-rtl,.ant-typography-rtl,.ant-upload-list-rtl,.ant-upload-rtl{direction:rtl}.ant-statistic-content-prefix,.ant-statistic-content-suffix{display:inline-block}.ant-statistic-content-prefix{margin-right:4px}.ant-statistic-content-suffix{margin-left:4px}.ant-statistic-rtl .ant-statistic-content-prefix{margin-right:0;margin-left:4px}.ant-statistic-rtl .ant-statistic-content-suffix{margin-right:4px;margin-left:0}.ant-steps{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);line-height:1.5715;display:flex;width:100%;font-size:0;text-align:initial}.ant-steps-item{position:relative;display:inline-block;flex:1;overflow:hidden;vertical-align:top}.ant-steps-item-container{outline:0}.ant-steps-item:last-child{flex:none}.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-tail{display:none}.ant-steps-item-content,.ant-steps-item-icon{display:inline-block;vertical-align:top}.ant-steps-item-icon{width:32px;height:32px;margin:0 8px 0 0;font-size:16px;line-height:32px;text-align:center;border:1px solid rgba(255,255,255,.3);border-radius:32px;transition:background-color .3s,border-color .3s}.ant-steps-item-tail::after,.ant-steps-item-title::after{height:1px;background:#303030;content:''}.ant-steps-item-icon .ant-steps-icon{position:relative;top:-.5px;color:#177ddc;line-height:1}.ant-steps-item-tail{position:absolute;top:12px;left:0;width:100%;padding:0 10px}.ant-steps-item-tail::after{display:inline-block;width:100%;border-radius:1px;transition:background .3s}.ant-steps-item-title{position:relative;display:inline-block;padding-right:16px;color:rgba(255,255,255,.85);font-size:16px;line-height:32px}.ant-steps-item-description,.ant-steps-item-subtitle{color:rgba(255,255,255,.45);font-size:14px}.ant-steps-item-title::after{position:absolute;top:16px;left:100%;display:block;width:9999px}.ant-steps-item-subtitle{display:inline;margin-left:8px;font-weight:400}.ant-steps-item-wait .ant-steps-item-icon{background-color:transparent;border-color:rgba(255,255,255,.3)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon{color:rgba(255,255,255,.3)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255,255,255,.45)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:rgba(255,255,255,.3)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#303030}.ant-steps-item-process .ant-steps-item-icon{background-color:transparent;border-color:#177ddc}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#177ddc}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255,255,255,.85)}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#177ddc}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#303030}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon{background:#177ddc}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon .ant-steps-icon{color:#fff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-title{font-weight:500}.ant-steps-item-finish .ant-steps-item-icon{background-color:transparent;border-color:#177ddc}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#177ddc}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#177ddc}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title,.ant-switch,.ant-table,.ant-table-footer,.ant-table-thead>tr>th{color:rgba(255,255,255,.85)}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#177ddc}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(255,255,255,.45)}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#a61d24}.ant-steps-item-error .ant-steps-item-icon{background-color:transparent;border-color:#a61d24}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#a61d24}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#303030}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-title,.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#177ddc}.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after{background:#a61d24}.ant-steps-item-disabled{cursor:not-allowed}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button],.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button],.ant-switch{cursor:pointer}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-title{transition:color .3s}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon{border-color:#177ddc}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:16px;white-space:nowrap}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-right:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail{display:none}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description{max-width:140px;white-space:normal}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon{height:auto;background:0 0;border:0}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon>.ant-steps-icon{top:0;left:.5px;width:32px;height:32px;font-size:24px;line-height:32px}.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon{width:auto;background:0 0}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:12px}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-small .ant-steps-item-icon{width:24px;height:24px;margin:0 8px 0 0;font-size:12px;line-height:24px;text-align:center;border-radius:24px}.ant-steps-small .ant-steps-item-title{padding-right:12px;font-size:14px;line-height:24px}.ant-steps-small .ant-steps-item-title::after{top:12px}.ant-steps-small .ant-steps-item-description{color:rgba(255,255,255,.45);font-size:14px}.ant-steps-small .ant-steps-item-tail{top:8px}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon{width:inherit;height:inherit;line-height:inherit;background:0 0;border:0;border-radius:0}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{font-size:24px;line-height:24px;transform:none}.ant-steps-vertical{display:flex;flex-direction:column}.ant-steps-vertical>.ant-steps-item{display:block;flex:1 0 auto;padding-left:0;overflow:visible}.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:left;margin-right:16px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-content{display:block;min-height:48px;overflow:hidden}.ant-steps-vertical>.ant-steps-item .ant-steps-item-title{line-height:32px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-description{padding-bottom:12px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{position:absolute;top:0;left:16px;width:1px;height:100%;padding:38px 0 6px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail::after{width:1px;height:100%}.ant-steps-vertical>.ant-steps-item:not(:last-child)>.ant-steps-item-container>.ant-steps-item-tail{display:block}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{display:none}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{position:absolute;top:0;left:12px;padding:30px 0 6px}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title{line-height:24px}.ant-steps-label-vertical .ant-steps-item{overflow:visible}.ant-steps-label-vertical .ant-steps-item-tail{margin-left:58px;padding:3.5px 24px}.ant-steps-label-vertical .ant-steps-item-content{display:block;width:116px;margin-top:8px;text-align:center}.ant-steps-label-vertical .ant-steps-item-icon{display:inline-block;margin-left:42px}.ant-steps-label-vertical .ant-steps-item-title{padding-right:0;padding-left:0}.ant-steps-label-vertical .ant-steps-item-title::after{display:none}.ant-steps-label-vertical .ant-steps-item-subtitle{display:block;margin-bottom:4px;margin-left:0;line-height:1.5715}.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon{margin-left:46px}.ant-steps-dot .ant-steps-item-title,.ant-steps-dot.ant-steps-small .ant-steps-item-title{line-height:1.5715}.ant-steps-dot .ant-steps-item-tail,.ant-steps-dot.ant-steps-small .ant-steps-item-tail{top:2px;width:100%;margin:0 0 0 70px;padding:0}.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{width:calc(100% - 20px);height:3px;margin-left:12px}.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{left:2px}.ant-steps-dot .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-icon{width:8px;height:8px;margin-left:67px;padding-right:0;line-height:8px;background:0 0;border:0}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{position:relative;float:left;width:100%;height:100%;border-radius:100px;transition:all .3s}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{position:absolute;top:-12px;left:-26px;width:60px;height:32px;background:rgba(0,0,0,.001);content:''}.ant-steps-dot .ant-steps-item-content,.ant-steps-dot.ant-steps-small .ant-steps-item-content{width:140px}.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{position:relative;top:-1px;width:10px;height:10px;line-height:10px;background:0 0}.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-top:8px;margin-left:0;background:0 0}.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:2px;left:-9px;margin:0;padding:22px 0 4px}.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-content{width:inherit}.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{left:-2px}.ant-steps-navigation{padding-top:12px}.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-left:-12px}.ant-steps-navigation .ant-steps-item{overflow:visible;text-align:center}.ant-steps-navigation .ant-steps-item-container{display:inline-block;height:100%;margin-left:-16px;padding-bottom:12px;text-align:left;transition:opacity .3s}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after,.ant-steps-navigation .ant-steps-item:last-child::after{display:none}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content{max-width:auto}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{max-width:100%;padding-right:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]:hover{opacity:.85}.ant-steps-navigation .ant-steps-item:last-child{flex:1}.ant-steps-navigation .ant-steps-item::after{position:absolute;top:50%;left:100%;display:inline-block;width:12px;height:12px;margin-top:-14px;margin-left:-2px;border:1px solid rgba(255,255,255,.2);border-bottom:none;border-left:none;transform:rotate(45deg);content:''}.ant-steps-navigation .ant-steps-item::before{position:absolute;bottom:0;left:50%;display:inline-block;width:0;height:2px;background-color:#177ddc;transition:width .3s,left .3s;transition-timing-function:ease-out;content:''}.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before{left:0;width:100%}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item{margin-right:0!important}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::before{display:none}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item.ant-steps-item-active::before{top:0;right:0;left:unset;display:block;width:3px;height:calc(100% - 24px)}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::after{position:relative;top:-2px;left:50%;display:block;width:8px;height:8px;margin-bottom:8px;text-align:center;transform:rotate(135deg)}.ant-switch,nz-switch{display:inline-block}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden}.ant-steps.ant-steps-rtl .ant-steps-item-icon{margin-right:0;margin-left:8px}.ant-steps-rtl .ant-steps-item-tail{right:0;left:auto}.ant-steps-rtl .ant-steps-item-title{padding-right:0;padding-left:16px}.ant-steps-rtl .ant-steps-item-title::after{right:100%;left:auto}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:16px;padding-left:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-left:0}.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{right:.5px;left:auto}.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-right:-12px;margin-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container{margin-right:-16px;margin-left:0;text-align:right}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after{right:100%;left:auto;margin-right:-2px;margin-left:0;transform:rotate(225deg)}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:12px;padding-left:0}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-small .ant-steps-item-title{padding-right:0;padding-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:right;margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:16px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{right:12px;left:auto}.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail{margin:0 70px 0 0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{margin-right:12px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{right:2px;left:auto}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-right:67px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{float:right}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{right:-26px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:-9px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{right:0;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot{right:-2px;left:auto}.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active{padding-right:4px}.ant-steps-with-progress .ant-steps-item .ant-steps-item-tail{top:4px!important}.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child{padding-bottom:4px;padding-left:4px}.ant-steps-with-progress .ant-steps-item-icon{position:relative}.ant-steps-with-progress .ant-steps-item-icon .ant-progress{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.ant-switch{margin:0;padding:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;box-sizing:border-box;min-width:44px;height:22px;line-height:22px;background-color:rgba(255,255,255,.3);border:0;border-radius:100px;transition:all .2s;user-select:none}.ant-switch:focus{outline:0;box-shadow:0 0 0 2px rgba(255,255,255,.1)}.ant-switch-checked:focus{box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-switch:focus:hover{box-shadow:none}.ant-switch-checked{background-color:#177ddc}.ant-switch-disabled,.ant-switch-loading{cursor:not-allowed;opacity:.4}.ant-switch-disabled *,.ant-switch-loading *{box-shadow:none;cursor:not-allowed}.ant-switch-inner{display:block;margin:0 7px 0 25px;color:#fff;font-size:12px;transition:margin .2s}.ant-switch-handle,.ant-switch-handle::before{transition:all .2s ease-in-out;position:absolute}.ant-switch-checked .ant-switch-inner{margin:0 25px 0 7px}.ant-switch-handle{top:2px;left:2px;width:18px;height:18px}.ant-switch-handle::before{top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:9px;box-shadow:0 2px 4px 0 rgba(0,35,11,.2);content:''}.ant-switch-checked .ant-switch-handle{left:calc(100% - 18px - 2px)}.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before{right:-30%;left:0}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before{right:0;left:-30%}.ant-switch-loading-icon{position:relative;top:2px;color:rgba(0,0,0,.65);vertical-align:top}.ant-switch-checked .ant-switch-loading-icon{color:#177ddc}.ant-switch-small{min-width:28px;height:16px;line-height:16px}.ant-switch-small .ant-switch-inner{margin:0 5px 0 18px;font-size:12px}.ant-switch-small .ant-switch-handle{width:12px;height:12px}.ant-switch-small .ant-switch-loading-icon{top:1.5px;font-size:9px}.ant-table,.ant-table.ant-table-middle,.ant-table.ant-table-small{font-size:14px}.ant-switch-small.ant-switch-checked .ant-switch-inner{margin:0 18px 0 5px}.ant-switch-small.ant-switch-checked .ant-switch-handle{left:calc(100% - 12px - 2px)}.ant-switch-rtl .ant-switch-inner{margin:0 25px 0 7px}.ant-switch-rtl .ant-switch-handle{right:2px;left:auto}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before{right:0;left:-30%}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before{right:-30%;left:0}.ant-switch-rtl.ant-switch-checked .ant-switch-inner{margin:0 7px 0 25px}.ant-switch-rtl.ant-switch-checked .ant-switch-handle{right:calc(100% - 18px - 2px)}.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle{right:calc(100% - 12px - 2px)}.ant-table-wrapper::after,.ant-table-wrapper::before{display:table;content:''}.ant-table.ant-table-middle .ant-table-footer,.ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table.ant-table-middle .ant-table-title,.ant-table.ant-table-middle tfoot>tr>td,.ant-table.ant-table-middle tfoot>tr>th{padding:12px 8px}.ant-table.ant-table-middle .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-12px -8px}.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-12px -8px -12px 25px}.ant-table.ant-table-small .ant-table-footer,.ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table.ant-table-small .ant-table-title,.ant-table.ant-table-small tfoot>tr>td,.ant-table.ant-table-small tfoot>tr>th{padding:8px}.ant-table.ant-table-small .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-8px}.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-8px -8px -8px 25px}.ant-table-small .ant-table-thead>tr>th{background-color:#1d1d1d}.ant-table-small .ant-table-selection-column{width:46px;min-width:46px}.ant-table.ant-table-bordered>.ant-table-title{border:1px solid #303030;border-bottom:0}.ant-table.ant-table-bordered>.ant-table-container{border:1px solid #303030;border-right:0;border-bottom:0}.ant-table-thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th::before{background-color:transparent!important}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-16px -17px}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #303030;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered>.ant-table-footer{border:1px solid #303030;border-top:0}.ant-table-cell .ant-table-container:first-child{border-top:0}.ant-table-cell-scrollbar{box-shadow:0 1px 0 1px #1d1d1d}.ant-table-wrapper{clear:both;max-width:100%}.ant-table-wrapper::after{clear:both}.ant-table{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;background:#141414;border-radius:2px}.ant-table table{width:100%;text-align:left;border-radius:2px 2px 0 0;border-collapse:separate;border-spacing:0}.ant-table tfoot>tr>td,.ant-table tfoot>tr>th,.ant-table-tbody>tr>td,.ant-table-thead>tr>th{position:relative;padding:16px;overflow-wrap:break-word}.ant-table-cell-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:visible}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis}.ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;word-break:keep-all}.ant-table-title{padding:16px}.ant-table-footer{padding:16px;background:rgba(255,255,255,.04)}.ant-table-thead>tr>th{position:relative;font-weight:500;text-align:left;background:#1d1d1d;transition:background .3s ease}.ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before{position:absolute;top:50%;right:0;width:1px;height:1.6em;background-color:rgba(255,255,255,.08);transform:translateY(-50%);transition:background-color .3s;content:''}.ant-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ant-table-tbody>tr>td{border-bottom:1px solid #303030;transition:background .3s}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table{margin:-16px -16px -16px 33px}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child{border-radius:0}.ant-table-tbody>tr.ant-table-row:hover>td{background:#262626}.ant-table-tbody>tr.ant-table-row-selected>td{background:#111b26;border-color:rgba(0,0,0,.03)}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background:#0e161f}.ant-table-summary{background:#141414}div.ant-table-summary{box-shadow:0 -1px 0 #303030}.ant-table-summary>tr>td,.ant-table-summary>tr>th{border-bottom:1px solid #303030}.ant-table-pagination.ant-pagination{margin:16px 0}.ant-table-pagination{display:flex;flex-wrap:wrap;row-gap:8px}.ant-table-pagination>*{flex:none}.ant-table-pagination-left{justify-content:flex-start}.ant-table-pagination-center{justify-content:center}.ant-table-pagination-right{justify-content:flex-end}.ant-table-thead th.ant-table-column-has-sorters{cursor:pointer;transition:all .3s}.ant-table-thead th.ant-table-column-has-sorters:hover{background:#303030}.ant-table-thead th.ant-table-column-has-sorters:hover::before{background-color:transparent!important}.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover{background:#f5f5f5}.ant-table-thead th.ant-table-column-sort{background:#262626}.ant-table-thead th.ant-table-column-sort::before{background-color:transparent!important}td.ant-table-column-sort{background:rgba(255,255,255,.01)}.ant-table-column-title{position:relative;z-index:1;flex:1}.ant-table-column-sorters{display:flex;flex:auto;align-items:center;justify-content:space-between}.ant-table-column-sorters::after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;content:''}.ant-table-column-sorter{color:#bfbfbf;font-size:0;transition:color .3s}.ant-table-column-sorter-inner{display:inline-flex;flex-direction:column;align-items:center}.ant-table-column-sorter-down,.ant-table-column-sorter-up{font-size:11px}.ant-table-column-sorter-down.active,.ant-table-column-sorter-up.active{color:#177ddc}.ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-.3em}.ant-table-column-sorters:hover .ant-table-column-sorter{color:#a6a6a6}.ant-table-filter-column{display:flex;justify-content:space-between}.ant-table-filter-trigger{position:relative;display:flex;align-items:center;margin:-4px -8px -4px 4px;padding:0 4px;color:#bfbfbf;font-size:12px;border-radius:2px;cursor:pointer;transition:all .3s}.ant-table-filter-trigger:hover{color:rgba(255,255,255,.45);background:#434343}.ant-table-filter-trigger.active{color:#177ddc}.ant-table-filter-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;min-width:120px;background-color:#1f1f1f;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-table-filter-dropdown .ant-dropdown-menu{max-height:264px;overflow-x:hidden;border:0;box-shadow:none}.ant-table-filter-dropdown-submenu>ul{max-height:calc(100vh - 130px);overflow-x:hidden;overflow-y:auto}.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-left:8px}.ant-table-filter-dropdown-btns{display:flex;justify-content:space-between;padding:7px 8px 7px 3px;overflow:hidden;background-color:#1f1f1f;border-top:1px solid #303030}.ant-table-selection-col{width:32px}.ant-table-bordered .ant-table-selection-col{width:50px}table tr td.ant-table-selection-column,table tr th.ant-table-selection-column{padding-right:8px;padding-left:8px;text-align:center}table tr td.ant-table-selection-column .ant-radio-wrapper,table tr th.ant-table-selection-column .ant-radio-wrapper{margin-right:0}table tr th.ant-table-selection-column::after{background-color:transparent!important}.ant-table-selection{position:relative;display:inline-flex;flex-direction:column}.ant-table-selection-extra{position:absolute;top:0;z-index:1;cursor:pointer;transition:all .3s;margin-inline-start:100%;padding-inline-start:4px}.ant-table-selection-extra .anticon{color:#bfbfbf;font-size:10px}.ant-table-selection-extra .anticon:hover{color:#a6a6a6}.ant-table-expand-icon-col{width:48px}.ant-table-row-expand-icon-cell{text-align:center}.ant-table-row-indent{float:left;height:1px}.ant-table-row-expand-icon{text-decoration:none;cursor:pointer;position:relative;display:inline-flex;float:left;box-sizing:border-box;width:17px;height:17px;padding:0;color:inherit;line-height:17px;background:0 0;border:1px solid #303030;border-radius:2px;outline:0;transform:scale(.94117647);transition:all .3s;user-select:none}.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{color:#165996}.ant-table-row-expand-icon:active{color:#388ed3}.ant-table-row-expand-icon:active,.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{border-color:currentColor}.ant-table-row-expand-icon::after,.ant-table-row-expand-icon::before{position:absolute;background:currentColor;transition:transform .3s ease-out;content:''}.ant-table-row-expand-icon::before{top:7px;right:3px;left:3px;height:1px}.ant-table-row-expand-icon::after{top:3px;bottom:3px;left:7px;width:1px;transform:rotate(90deg)}.ant-table-row-expand-icon-collapsed::before{transform:rotate(-180deg)}.ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}.ant-table-row-expand-icon-spaced{background:0 0;border:0;visibility:hidden}.ant-table-row-expand-icon-spaced::after,.ant-table-row-expand-icon-spaced::before{display:none;content:none}.ant-table-row-indent+.ant-table-row-expand-icon{margin-top:2.5px;margin-right:8px}tr.ant-table-expanded-row:hover>td,tr.ant-table-expanded-row>td{background:#1d1d1d}tr.ant-table-expanded-row .ant-descriptions-view{display:flex}tr.ant-table-expanded-row .ant-descriptions-view table{flex:auto;width:auto}.ant-table .ant-table-expanded-row-fixed{position:relative;margin:-16px;padding:16px}.ant-table-tbody>tr.ant-table-placeholder{text-align:center}.ant-table-empty .ant-table-tbody>tr.ant-table-placeholder{color:rgba(255,255,255,.3)}.ant-table-tbody>tr.ant-table-placeholder:hover>td{background:#141414}.ant-table-cell-fix-left,.ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#141414}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before,.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after,.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{position:absolute;transition:box-shadow .3s;width:30px;top:0;pointer-events:none;content:''}.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after{right:0;bottom:-1px;transform:translateX(100%)}.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{bottom:-1px;left:0;transform:translateX(-100%)}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before{bottom:0;z-index:1}.ant-table .ant-table-container::before{left:0}.ant-table .ant-table-container::after{right:0}.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container{position:relative}.ant-table-ping-left .ant-table-cell-fix-left-first::after,.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before{box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.45)}.ant-table-ping-left .ant-table-cell-fix-left-last::before{background-color:transparent!important}.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container{position:relative}.ant-table-sticky-holder,.ant-table-sticky-scroll{position:sticky;z-index:3}.ant-table-ping-right .ant-table-cell-fix-right-first::after,.ant-table-ping-right .ant-table-cell-fix-right-last::after,.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.45)}.ant-table-sticky-scroll{bottom:0;display:flex;align-items:center;background:#fcfcfc;border-top:1px solid #303030;opacity:.6}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after{opacity:1}.ant-table-sticky-scroll:hover{transform-origin:center bottom}.ant-table-sticky-scroll-bar{height:8px;background-color:rgba(0,0,0,.35);border-radius:4px}.ant-table-sticky-scroll-bar-active,.ant-table-sticky-scroll-bar:hover{background-color:rgba(0,0,0,.8)}@media all and (-ms-high-contrast:none){.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-right .ant-table-cell-fix-right-first::after{box-shadow:none!important}}.ant-table-title{border-radius:2px 2px 0 0}.ant-table-title+.ant-table-container{border-top-left-radius:0;border-top-right-radius:0}.ant-table-title+.ant-table-container table>thead>tr:first-child th:first-child,.ant-table-title+.ant-table-container table>thead>tr:first-child th:last-child{border-radius:0}.ant-table-container,.ant-table-container table>thead>tr:first-child th:first-child{border-top-left-radius:2px}.ant-table-container,.ant-table-container table>thead>tr:first-child th:last-child{border-top-right-radius:2px}.ant-table-footer{border-radius:0 0 2px 2px}.ant-table-wrapper-rtl .ant-table table{text-align:right}.ant-table-wrapper-rtl .ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-wrapper-rtl .ant-table-thead>tr>th{text-align:right}.ant-table-wrapper-rtl .ant-table thead>tr>th.ant-table-selection-column,.ant-table-wrapper-rtl .ant-table-selection{text-align:center}.ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl{margin:-16px 33px -16px -16px}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left{justify-content:flex-end}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right{justify-content:flex-start}.ant-table-wrapper-rtl .ant-table-column-sorter{margin-right:8px;margin-left:0}.ant-table-wrapper-rtl .ant-table-filter-column-title{padding:16px 16px 16px 2.3em}.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title{padding:0 0 0 2.3em}.ant-table-wrapper-rtl .ant-table-filter-trigger-container{right:auto;left:0}.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-right:8px;padding-left:0}.ant-table-wrapper-rtl .ant-table-row-expand-icon,.ant-table-wrapper-rtl .ant-table-row-indent{float:right}.ant-table-wrapper-rtl .ant-table-row-indent+.ant-table-row-expand-icon{margin-right:0;margin-left:8px}.ant-table-wrapper-rtl .ant-table-row-expand-icon::after{transform:rotate(-90deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before{transform:rotate(180deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}nz-table,nz-table-inner-default,nz-table-inner-scroll,nz-table-selection,nz-table-title-footer{display:block}nz-filter-trigger{display:inline-flex}.nz-table-out-bordered>.ant-table-container,.nz-table-out-bordered>.ant-table-title{border:1px solid #303030;border-bottom:0}.nz-table-out-bordered>.ant-table-footer{border:1px solid #303030;border-top:0}cdk-virtual-scroll-viewport.ant-table-body{overflow-y:scroll}.nz-table-hide-scrollbar{scrollbar-color:#1d1d1d #1d1d1d}.nz-table-hide-scrollbar::-webkit-scrollbar{background-color:#1d1d1d}.ant-table.ant-table-small .nz-table-hide-scrollbar{scrollbar-color:#1d1d1d #1d1d1d}.ant-table.ant-table-small .nz-table-hide-scrollbar::-webkit-scrollbar{background-color:transparent}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>th{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-16px -17px}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #303030;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:8px 0;font-size:14px}.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:16px 0;font-size:16px}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:6px 16px}.ant-tabs-card.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:7px 16px 6px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type{margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:0;margin-left:12px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove{margin-right:8px;margin-left:-4px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-rtl.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-rtl.ant-tabs-right>.ant-tabs-nav{order:0}.ant-tabs-rtl.ant-tabs-right>.ant-tabs-content-holder{order:1}.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-right:0;margin-left:2px}.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item{text-align:right}.ant-tabs-bottom,.ant-tabs-top{flex-direction:column}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav,.ant-tabs-top>.ant-tabs-nav,.ant-tabs-top>div>.ant-tabs-nav{margin:0 0 16px}.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav::before,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav::before{position:absolute;right:0;left:0;border-bottom:1px solid #303030;content:''}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar{height:2px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:width .3s,left .3s,right .3s}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;bottom:0;width:30px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{left:0;box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{right:0;box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav::before{bottom:0}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav{order:1;margin-top:16px;margin-bottom:0}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav::before{top:0}.ant-tabs-bottom>.ant-tabs-content-holder,.ant-tabs-bottom>div>.ant-tabs-content-holder{order:0}.ant-tabs-left>.ant-tabs-nav,.ant-tabs-left>div>.ant-tabs-nav,.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{flex-direction:column;min-width:50px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{padding:8px 24px;text-align:center}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin:16px 0 0}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap{flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{right:0;left:0;height:30px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;box-shadow:inset 0 10px 8px -8px rgba(0,0,0,.08)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{bottom:0;box-shadow:inset 0 -10px 8px -8px rgba(0,0,0,.08)}.ant-tabs-dropdown-menu,.ant-tooltip-inner,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{width:2px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:height .3s,top .3s}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-operations{flex:1 0 auto;flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar{right:0}.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-left>div>.ant-tabs-content-holder{margin-left:-1px;border-left:1px solid #303030}.ant-tabs-left>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-left>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-left:24px}.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{order:1}.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{left:0}.ant-tabs-right>.ant-tabs-content-holder,.ant-tabs-right>div>.ant-tabs-content-holder{order:0;margin-right:-1px;border-right:1px solid #303030}.ant-tabs-right>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-right>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-right:24px}.ant-tabs-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-tabs-dropdown-hidden{display:none}.ant-tabs-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;outline:0}.ant-tabs-dropdown-menu-item{min-width:120px;margin:0;padding:5px 12px;overflow:hidden;color:rgba(255,255,255,.85);font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-tabs-dropdown-menu-item:hover{background:rgba(255,255,255,.08)}.ant-tabs-dropdown-menu-item-disabled,.ant-tabs-dropdown-menu-item-disabled:hover{color:rgba(255,255,255,.3);background:0 0;cursor:not-allowed}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0;padding:8px 16px;background:rgba(255,255,255,.04);border:1px solid #303030;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs,.ant-timeline{font-variant:tabular-nums;line-height:1.5715;font-feature-settings:tnum;padding:0}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{color:#177ddc;background:#141414}.ant-tabs-card>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-ink-bar{visibility:hidden}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:2px}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 2px 0 0}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom-color:#141414}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 2px 2px}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab-active{border-top-color:#141414}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 0 0 2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab-active{border-right-color:#141414}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 2px 2px 0}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab-active{border-left-color:#141414}.ant-tabs{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);font-size:14px;list-style:none;display:flex;overflow:hidden}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{position:relative;display:flex;flex:none;align-items:center}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap{position:relative;display:inline-block;display:flex;flex:auto;align-self:stretch;overflow:hidden;white-space:nowrap;transform:translate(0)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{position:absolute;z-index:1;opacity:0;transition:opacity .3s;content:'';pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-list{position:relative;display:flex;transition:transform .3s}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations{display:flex;align-self:stretch}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations-hidden,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations-hidden{position:absolute;visibility:hidden;pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more{position:relative;padding:8px 16px;background:0 0;border:0}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more::after{position:absolute;right:0;bottom:0;left:0;height:5px;transform:translateY(100%);content:''}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add{min-width:40px;padding:0 8px;background:rgba(255,255,255,.04);border:1px solid #303030;border-radius:2px 2px 0 0;outline:0;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:hover,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:hover{color:#165996}.ant-tabs-tab-btn:active,.ant-tabs-tab-btn:focus,.ant-tabs-tab-remove:active,.ant-tabs-tab-remove:focus,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:focus,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:focus{color:#388ed3}.ant-tabs-extra-content{flex:none}.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]),.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]){justify-content:center}.ant-tabs-ink-bar{position:absolute;background:#177ddc;pointer-events:none}.ant-tabs-tab,.ant-tabs-tab-remove{background:0 0;cursor:pointer;outline:0}.ant-tabs-tab{position:relative;display:inline-flex;align-items:center;padding:12px 0;font-size:14px;border:0}.ant-tabs-tab-btn{outline:0;transition:all .3s}.ant-tabs-tab-remove{flex:none;margin-right:-4px;margin-left:8px;color:rgba(255,255,255,.45);font-size:12px;border:none;transition:all .3s}.ant-tabs-tab-remove:hover{color:rgba(255,255,255,.85)}.ant-tabs-tab:hover{color:#165996}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#177ddc;text-shadow:0 0 .25px currentColor}.ant-tabs-tab.ant-tabs-tab-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus{color:rgba(255,255,255,.3)}.ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-tab .anticon{margin-right:12px}.ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-content{display:flex;width:100%}.ant-tabs-content-holder{flex:auto;min-width:0;min-height:0}.ant-tabs-content-animated{transition:margin .3s}.ant-tabs-tabpane{flex:none;width:100%;outline:0}.ant-tabs-dropdown-menu-item a[nz-tab-link]{position:relative}a[nz-tab-link]::before{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;content:''}a[nz-tab-link]~*{position:relative}nz-tab-nav-operation,nz-tabs-nav,nz-tabset{display:block}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;outline:0}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item{min-width:120px;margin:0;padding:5px 12px;overflow:hidden;color:rgba(255,255,255,.85);font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover{background:rgba(255,255,255,.08)}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover{color:rgba(255,255,255,.3);background:0 0;cursor:not-allowed}.ant-tag,.ant-upload.ant-upload-drag,.result .ant-steps .ant-steps-head,.result .ant-steps .ant-steps-title,.result__extra{background:rgba(255,255,255,.04)}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a{pointer-events:none;color:rgba(255,255,255,.3)}.ant-tabs-rtl .ant-tabs-rtl-tab-next{right:auto;left:2px}.ant-tabs-tab-disabled a{pointer-events:none;color:rgba(255,255,255,.3)}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:20px;white-space:nowrap;border:1px solid #434343;border-radius:2px;opacity:1;transition:all .3s}.ant-tag-checkable,.ant-tag-has-color{border-color:transparent}.ant-tag,.ant-tag a,.ant-tag a:hover{color:rgba(255,255,255,.85)}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-hidden,.ant-timeline-item-last>.ant-timeline-item-tail,.ant-timeline-item-pending .ant-timeline-item-tail{display:none}.ant-tag-close-icon{margin-left:3px;color:rgba(255,255,255,.45);font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:rgba(255,255,255,.85)}.ant-tag-has-color,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover,.ant-tag-has-color a,.ant-tag-has-color a:hover{color:#fff}.ant-tag-checkable{background-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#177ddc}.ant-tag-checkable-checked,.ant-tag-checkable:active{color:#fff}.ant-tag-checkable-checked{background-color:#177ddc}.ant-tag-checkable:active{background-color:#388ed3}.ant-tag-pink{color:#e0529c;background:#291321;border-color:#551c3b}.ant-tag-pink-inverse{color:#fff;background:#cb2b83;border-color:#cb2b83}.ant-tag-magenta{color:#e0529c;background:#291321;border-color:#551c3b}.ant-tag-magenta-inverse{color:#fff;background:#cb2b83;border-color:#cb2b83}.ant-tag-red{color:#e84749;background:#2a1215;border-color:#58181c}.ant-tag-red-inverse{color:#fff;background:#d32029;border-color:#d32029}.ant-tag-volcano{color:#e87040;background:#2b1611;border-color:#592716}.ant-tag-volcano-inverse{color:#fff;background:#d84a1b;border-color:#d84a1b}.ant-tag-orange{color:#e89a3c;background:#2b1d11;border-color:#593815}.ant-tag-orange-inverse{color:#fff;background:#d87a16;border-color:#d87a16}.ant-tag-yellow{color:#e8d639;background:#2b2611;border-color:#595014}.ant-tag-yellow-inverse{color:#fff;background:#d8bd14;border-color:#d8bd14}.ant-tag-gold{color:#e8b339;background:#2b2111;border-color:#594214}.ant-tag-gold-inverse{color:#fff;background:#d89614;border-color:#d89614}.ant-tag-cyan{color:#33bcb7;background:#112123;border-color:#144848}.ant-tag-cyan-inverse{color:#fff;background:#13a8a8;border-color:#13a8a8}.ant-tag-lime{color:#a9d134;background:#1f2611;border-color:#3e4f13}.ant-tag-lime-inverse{color:#fff;background:#8bbb11;border-color:#8bbb11}.ant-tag-green{color:#6abe39;background:#162312;border-color:#274916}.ant-tag-green-inverse{color:#fff;background:#49aa19;border-color:#49aa19}.ant-tag-blue{color:#3c9ae8;background:#111d2c;border-color:#15395b}.ant-tag-blue-inverse{color:#fff;background:#177ddc;border-color:#177ddc}.ant-tag-geekblue{color:#5273e0;background:#131629;border-color:#1c2755}.ant-tag-geekblue-inverse{color:#fff;background:#2b4acb;border-color:#2b4acb}.ant-tag-purple{color:#854eca;background:#1a1325;border-color:#301c4d}.ant-tag-purple-inverse{color:#fff;background:#642ab5;border-color:#642ab5}.ant-tag-success{color:#49aa19;background:#162312;border-color:#274916}.ant-tag-processing{color:#177ddc;background:#111d2c;border-color:#15395b}.ant-tag-error{color:#d32029;background:#2a1215;border-color:#58181c}.ant-tag-warning{color:#d87a16;background:#2b1d11;border-color:#593815}.ant-timeline,.ant-tooltip{color:rgba(255,255,255,.85);box-sizing:border-box}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.ant-timeline,.ant-timeline-item{margin:0;font-size:14px;list-style:none}.ant-timeline-item{position:relative;padding-bottom:20px}.ant-timeline-item-tail{position:absolute;top:10px;left:4px;height:calc(100% - 10px);border-left:2px solid #303030}.ant-timeline-item-pending .ant-timeline-item-head{font-size:12px;background-color:transparent}.ant-timeline-item-head{position:absolute;width:10px;height:10px;background-color:#141414;border:2px solid transparent;border-radius:100px}.ant-timeline-item-head-blue{color:#177ddc;border-color:#177ddc}.ant-timeline-item-head-red{color:#a61d24;border-color:#a61d24}.ant-timeline-item-head-green{color:#49aa19;border-color:#49aa19}.ant-timeline-item-head-gray{color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-timeline-item-head-custom{position:absolute;top:5.5px;left:5px;width:auto;height:auto;margin-top:0;padding:3px 1px;line-height:1;text-align:center;border:0;border-radius:0;transform:translate(-50%,-50%)}.ant-tooltip,.ant-transfer{font-size:14px;line-height:1.5715;font-variant:tabular-nums;font-feature-settings:tnum}.ant-timeline-item-content{position:relative;top:-7px;margin:0 0 0 26px;word-break:break-word}.ant-timeline-item-last>.ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-tail{left:50%}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-left:-4px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-left:1px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{left:calc(50% - 4px);width:calc(50% - 14px);text-align:left}.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(50% - 12px);margin:0;text-align:right}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{left:calc(100% - 4px - 2px)}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(100% - 18px)}.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail{display:block;height:calc(100% - 14px);border-left:2px dotted #303030}.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail{display:none}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{top:15px;display:block;height:calc(100% - 15px);border-left:2px dotted #303030}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-label .ant-timeline-item-label{position:absolute;top:-7px;width:calc(50% - 12px);text-align:right}.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{left:calc(50% + 14px);width:calc(50% - 14px);text-align:left}.ant-timeline-rtl .ant-timeline-item-tail{right:4px;left:auto;border-right:2px solid #303030;border-left:none}.ant-timeline-rtl .ant-timeline-item-head-custom{right:5px;left:auto;transform:translate(50%,-50%)}.ant-timeline-rtl .ant-timeline-item-content{margin:0 18px 0 0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail{right:50%;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-right:-4px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-right:1px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{right:calc(50% - 4px);left:auto;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{right:0;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:100%;margin-right:18px;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{border-right:2px dotted #303030;border-left:none}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{right:calc(50% + 14px);text-align:right}.ant-tooltip{margin:0;padding:0;list-style:none;z-index:1070;display:block;width:max-content;max-width:250px}.ant-tooltip-hidden{display:none}.ant-tooltip-placement-top,.ant-tooltip-placement-topLeft,.ant-tooltip-placement-topRight{padding-bottom:8px}.ant-tooltip-placement-right,.ant-tooltip-placement-rightBottom,.ant-tooltip-placement-rightTop{padding-left:8px}.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottomRight{padding-top:8px}.ant-tooltip-placement-left,.ant-tooltip-placement-leftBottom,.ant-tooltip-placement-leftTop{padding-right:8px}.ant-tooltip-inner{min-width:30px;min-height:32px;padding:6px 8px;color:#fff;text-align:left;text-decoration:none;word-wrap:break-word;border-radius:2px}.ant-tooltip-arrow{position:absolute;display:block;width:13.07px;height:13.07px;overflow:hidden;background:0 0;pointer-events:none}.ant-tooltip-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:5px;height:5px;margin:auto;background-color:#434343;content:'';pointer-events:auto}.ant-tooltip,.ant-transfer{position:relative}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:-5.07px}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-top .ant-tooltip-arrow-content,.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-topRight .ant-tooltip-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-6.54px) rotate(45deg)}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:13px}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow{left:-5.07px}.ant-tooltip-placement-right .ant-tooltip-arrow-content,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(6.54px) rotate(45deg)}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow{right:-5.07px}.ant-tooltip-placement-left .ant-tooltip-arrow-content,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-6.54px) rotate(45deg)}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:-5.07px}.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content{box-shadow:-3px -3px 7px rgba(0,0,0,.07);transform:translateY(6.54px) rotate(45deg)}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:13px}.ant-tooltip-magenta .ant-tooltip-arrow-content,.ant-tooltip-magenta .ant-tooltip-inner,.ant-tooltip-pink .ant-tooltip-arrow-content,.ant-tooltip-pink .ant-tooltip-inner{background-color:#cb2b83}.ant-tooltip-red .ant-tooltip-arrow-content,.ant-tooltip-red .ant-tooltip-inner{background-color:#d32029}.ant-tooltip-volcano .ant-tooltip-arrow-content,.ant-tooltip-volcano .ant-tooltip-inner{background-color:#d84a1b}.ant-tooltip-orange .ant-tooltip-arrow-content,.ant-tooltip-orange .ant-tooltip-inner{background-color:#d87a16}.ant-tooltip-yellow .ant-tooltip-arrow-content,.ant-tooltip-yellow .ant-tooltip-inner{background-color:#d8bd14}.ant-tooltip-gold .ant-tooltip-arrow-content,.ant-tooltip-gold .ant-tooltip-inner{background-color:#d89614}.ant-tooltip-cyan .ant-tooltip-arrow-content,.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13a8a8}.ant-tooltip-lime .ant-tooltip-arrow-content,.ant-tooltip-lime .ant-tooltip-inner{background-color:#8bbb11}.ant-tooltip-green .ant-tooltip-arrow-content,.ant-tooltip-green .ant-tooltip-inner{background-color:#49aa19}.ant-tooltip-blue .ant-tooltip-arrow-content,.ant-tooltip-blue .ant-tooltip-inner{background-color:#177ddc}.ant-tooltip-geekblue .ant-tooltip-arrow-content,.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2b4acb}.ant-tooltip-purple .ant-tooltip-arrow-content,.ant-tooltip-purple .ant-tooltip-inner{background-color:#642ab5}.ant-tooltip-rtl .ant-tooltip-inner{text-align:right}.ant-transfer-customize-list .ant-transfer-list{flex:1 1 50%;width:auto;height:auto;min-height:200px}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small{border:0;border-radius:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content>.ant-table-body>table>.ant-table-thead>tr>th{background:#1d1d1d}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content .ant-table-row:last-child td{border-bottom:1px solid #303030}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body{margin:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination{margin:16px 0 4px}.ant-transfer-customize-list .ant-input[disabled]{background-color:transparent}.ant-transfer{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);list-style:none;display:flex;align-items:stretch}.ant-transfer-disabled .ant-transfer-list{background:rgba(255,255,255,.08)}.ant-transfer-list{display:flex;flex-direction:column;width:180px;height:200px;border:1px solid #434343;border-radius:2px}.ant-transfer-list-footer,.ant-transfer-list-pagination,.drawer-footer,.modal-footer{border-top:1px solid #303030}.ant-transfer-list-with-pagination{width:250px;height:auto}.ant-transfer-list-search{padding-right:24px;padding-left:8px}.ant-transfer-list-search-action{position:absolute;top:12px;right:12px;bottom:12px;width:28px;color:rgba(255,255,255,.3);line-height:32px;text-align:center}.ant-transfer-list-search-action .anticon{color:rgba(255,255,255,.3);transition:all .3s}.ant-transfer-list-search-action .anticon:hover{color:rgba(255,255,255,.45)}span.ant-transfer-list-search-action{pointer-events:none}.ant-transfer-list-header{display:flex;flex:none;align-items:center;height:40px;padding:8px 12px 9px;color:rgba(255,255,255,.85);background:#141414;border-bottom:1px solid #303030;border-radius:2px 2px 0 0}.ant-transfer-list-header>:not(:last-child){margin-right:4px}.ant-transfer-list-header>*{flex:none}.ant-transfer-list-header-title{flex:auto;overflow:hidden;white-space:nowrap;text-align:right;text-overflow:ellipsis}.ant-transfer-list-header-dropdown{font-size:10px;transform:translateY(10%);cursor:pointer}.ant-transfer-list-header-dropdown[disabled]{cursor:not-allowed}.ant-transfer-list-body{display:flex;flex:auto;flex-direction:column;overflow:hidden;font-size:14px}.ant-transfer-list-body-search-wrapper{position:relative;flex:none;padding:12px}.ant-transfer-list-content{flex:auto;margin:0;padding:0;overflow:auto;list-style:none}.ant-transfer-list-content-item{display:flex;align-items:center;min-height:32px;padding:6px 12px;line-height:20px;transition:all .3s}.ant-transfer-list-content-item>:not(:last-child){margin-right:8px}.ant-transfer-list-content-item>*{flex:none}.ant-transfer-list-content-item-text{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-transfer-list-content-item-remove{text-decoration:none;outline:0;cursor:pointer;transition:color .3s;position:relative;color:#434343}.ant-transfer-list-content-item-remove:focus,.ant-transfer-list-content-item-remove:hover{color:#165996}.ant-transfer-list-content-item-remove:active{color:#388ed3}.ant-transfer-list-content-item-remove::after{position:absolute;top:-6px;right:-50%;bottom:-6px;left:-50%;content:''}.ant-transfer-list-content-item-remove:hover{color:#165996}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:#262626;cursor:pointer}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover{background-color:#0e161f}.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background:0 0;cursor:default}.ant-transfer-list-content-item-checked{background-color:#111b26}.ant-transfer-list-content-item-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-transfer-list-pagination{padding:8px 0;text-align:right}.ant-transfer-list-body-not-found{flex:none;width:100%;margin:auto 0;color:rgba(255,255,255,.3);text-align:center}.ant-transfer-rtl .ant-transfer-list-header-title,.ant-transfer-rtl .ant-transfer-list-pagination{text-align:left}.ant-transfer-operation{display:flex;flex:none;flex-direction:column;align-self:center;margin:0 8px}.ant-transfer-operation .ant-btn{display:block}.ant-transfer-operation .ant-btn:first-child{margin-bottom:4px}.ant-transfer-operation .ant-btn .anticon{font-size:12px}.ant-transfer .ant-empty-image{max-height:-2px}.ant-transfer-rtl .ant-transfer-list-search{padding-right:8px;padding-left:24px}.ant-transfer-rtl .ant-transfer-list-search-action{right:auto;left:12px}.ant-transfer-rtl .ant-transfer-list-footer,.ant-transfer-rtl .ant-transfer-list-header{right:0;left:auto}.ant-transfer-rtl .ant-transfer-list-header>:not(:last-child){margin-right:0;margin-left:4px}.ant-transfer-rtl .ant-transfer-list-content-item>:not(:last-child){margin-right:0;margin-left:8px}.ant-typography{color:rgba(255,255,255,.85);overflow-wrap:break-word}.ant-typography.ant-typography-secondary{color:rgba(255,255,255,.45)}.ant-typography.ant-typography-success{color:#49aa19}.ant-typography.ant-typography-warning{color:#d89614}.ant-typography.ant-typography-danger{color:#a61d24}a.ant-typography.ant-typography-danger:active,a.ant-typography.ant-typography-danger:focus,a.ant-typography.ant-typography-danger:hover{color:#b33b3d}.ant-typography.ant-typography-disabled{color:rgba(255,255,255,.3);cursor:not-allowed;user-select:none}.ant-typography p,div.ant-typography{margin-bottom:1em}.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography h5,h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography,h5.ant-typography{margin-bottom:.5em;color:rgba(255,255,255,.85);font-weight:600}.ant-typography h1,h1.ant-typography{font-size:38px;line-height:1.23}.ant-typography h2,h2.ant-typography{font-size:30px;line-height:1.35}.ant-typography h3,h3.ant-typography{font-size:24px;line-height:1.35}.ant-typography h4,h4.ant-typography{font-size:20px;line-height:1.4}.ant-typography h5,h5.ant-typography{font-size:16px;line-height:1.5}.ant-typography div+h1,.ant-typography div+h2,.ant-typography div+h3,.ant-typography div+h4,.ant-typography div+h5,.ant-typography h1+h1,.ant-typography h1+h2,.ant-typography h1+h3,.ant-typography h1+h4,.ant-typography h1+h5,.ant-typography h2+h1,.ant-typography h2+h2,.ant-typography h2+h3,.ant-typography h2+h4,.ant-typography h2+h5,.ant-typography h3+h1,.ant-typography h3+h2,.ant-typography h3+h3,.ant-typography h3+h4,.ant-typography h3+h5,.ant-typography h4+h1,.ant-typography h4+h2,.ant-typography h4+h3,.ant-typography h4+h4,.ant-typography h4+h5,.ant-typography h5+h1,.ant-typography h5+h2,.ant-typography h5+h3,.ant-typography h5+h4,.ant-typography h5+h5,.ant-typography li+h1,.ant-typography li+h2,.ant-typography li+h3,.ant-typography li+h4,.ant-typography li+h5,.ant-typography p+h1,.ant-typography p+h2,.ant-typography p+h3,.ant-typography p+h4,.ant-typography p+h5,.ant-typography ul+h1,.ant-typography ul+h2,.ant-typography ul+h3,.ant-typography ul+h4,.ant-typography ul+h5,.ant-typography+h1.ant-typography,.ant-typography+h2.ant-typography,.ant-typography+h3.ant-typography,.ant-typography+h4.ant-typography,.ant-typography+h5.ant-typography{margin-top:1.2em}.ant-typography code,.ant-typography kbd{margin:0 .2em;border:1px solid rgba(100,100,100,.2)}a.ant-typography-ellipsis,span.ant-typography-ellipsis{display:inline-block}.ant-typography a,a.ant-typography{color:#177ddc;outline:0;cursor:pointer;transition:color .3s;text-decoration:none}.ant-typography a:focus,.ant-typography a:hover,a.ant-typography:focus,a.ant-typography:hover{color:#165996}.ant-typography a:active,a.ant-typography:active{color:#388ed3}.ant-typography a:active,.ant-typography a:hover,a.ant-typography:active,a.ant-typography:hover{text-decoration:none}.ant-typography a.ant-typography-disabled,.ant-typography a[disabled],a.ant-typography.ant-typography-disabled,a.ant-typography[disabled]{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-typography a.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:hover,.ant-typography a[disabled]:active,.ant-typography a[disabled]:hover,a.ant-typography.ant-typography-disabled:active,a.ant-typography.ant-typography-disabled:hover,a.ant-typography[disabled]:active,a.ant-typography[disabled]:hover{color:rgba(255,255,255,.3)}.ant-typography a.ant-typography-disabled:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,a.ant-typography[disabled]:active{pointer-events:none}.ant-typography code{padding:.2em .4em .1em;font-size:85%;background:rgba(150,150,150,.1);border-radius:3px}.ant-typography kbd{padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border-bottom-width:2px;border-radius:3px}.ant-typography mark{padding:0;background-color:#594214}.ant-typography ins,.ant-typography u{text-decoration:underline;text-decoration-skip-ink:auto}.ant-typography del,.ant-typography s,.task__item-done,.text-deleted{text-decoration:line-through}.ant-typography strong{font-weight:600}.ant-typography-copy,.ant-typography-edit,.ant-typography-expand{color:#177ddc;text-decoration:none;outline:0;cursor:pointer;transition:color .3s;margin-left:4px}.ant-typography-copy:focus,.ant-typography-copy:hover,.ant-typography-edit:focus,.ant-typography-edit:hover,.ant-typography-expand:focus,.ant-typography-expand:hover{color:#165996}.ant-typography-copy:active,.ant-typography-edit:active,.ant-typography-expand:active{color:#388ed3}.ant-typography-copy-success,.ant-typography-copy-success:focus,.ant-typography-copy-success:hover{color:#49aa19}.ant-typography-edit-content{position:relative}div.ant-typography-edit-content{left:-12px;margin-top:-5px;margin-bottom:calc(1em - 4px - 1px)}.ant-typography-edit-content-confirm{position:absolute;right:10px;bottom:8px;color:rgba(255,255,255,.45);pointer-events:none}.ant-typography-edit-content textarea{-moz-transition:none}.ant-typography ol,.ant-typography ul{margin:0 0 1em;padding:0}.ant-typography ol li,.ant-typography ul li{margin:0 0 0 20px;padding:0 0 0 4px}.ant-typography ul{list-style-type:circle}.ant-typography ul ul{list-style-type:disc}.ant-typography ol{list-style-type:decimal}.ant-typography blockquote,.ant-typography pre{margin:1em 0}.ant-typography pre{padding:.4em .6em;white-space:pre-wrap;word-wrap:break-word;background:rgba(150,150,150,.1);border:1px solid rgba(100,100,100,.2);border-radius:3px}.ant-typography pre code{display:inline;margin:0;padding:0;font-size:inherit;font-family:inherit;background:0 0;border:0}.ant-typography blockquote{padding:0 0 0 .6em;border-left:4px solid rgba(100,100,100,.2);opacity:.85}.ant-typography-single-line{white-space:nowrap}.ant-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.ant-typography-ellipsis-single-line,span.ant-typography-ellipsis-single-line{vertical-align:bottom}.ant-typography-ellipsis-multiple-line{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;/*! autoprefixer: ignore next */-webkit-box-orient:vertical}.ant-typography-rtl .ant-typography-copy,.ant-typography-rtl .ant-typography-edit,.ant-typography-rtl .ant-typography-expand{margin-right:4px;margin-left:0}.ant-typography-rtl .ant-typography-expand{float:left}div.ant-typography-edit-content.ant-typography-rtl{right:-12px;left:auto}.ant-typography-rtl .ant-typography-edit-content-confirm{right:auto;left:10px}.ant-typography-rtl.ant-typography ol li,.ant-typography-rtl.ant-typography ul li{margin:0 20px 0 0;padding:0 4px 0 0}.ant-upload{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;outline:0}.ant-upload p{margin:0}.ant-upload-btn{display:block;width:100%;outline:0}.ant-upload input[type=file]{cursor:pointer}.ant-upload.ant-upload-select{display:inline-block}.ant-upload.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-select-picture-card{width:104px;height:104px;margin-right:8px;margin-bottom:8px;text-align:center;vertical-align:top;background-color:rgba(255,255,255,.04);border:1px dashed #434343;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-select-picture-card>.ant-upload{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.ant-upload.ant-upload-select-picture-card:hover{border-color:#177ddc}.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover{border-color:#434343}.ant-upload.ant-upload-drag{position:relative;width:100%;height:100%;text-align:center;border:1px dashed #434343;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-drag .ant-upload{padding:16px 0}.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled){border-color:#388ed3}.ant-upload.ant-upload-drag.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-drag .ant-upload-btn{display:table;height:100%}.ant-upload.ant-upload-drag .ant-upload-drag-container{display:table-cell;vertical-align:middle}.ant-upload-list-item-name,.ant-upload-picture-card-wrapper{display:inline-block;width:100%}.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover{border-color:#165996}.ant-upload.ant-upload-drag p.ant-upload-drag-icon{margin-bottom:20px}.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon{color:#165996;font-size:48px}.ant-upload.ant-upload-drag p.ant-upload-text{margin:0 0 4px;color:rgba(255,255,255,.85);font-size:16px}.ant-upload.ant-upload-drag p.ant-upload-hint{color:rgba(255,255,255,.45);font-size:14px}.ant-upload.ant-upload-drag .anticon-plus{color:rgba(255,255,255,.3);font-size:30px;transition:all .3s}.ant-upload.ant-upload-drag .anticon-plus:hover,.ant-upload.ant-upload-drag:hover .anticon-plus{color:rgba(255,255,255,.45)}.ant-upload-list::after,.ant-upload-list::before,.ant-upload-picture-card-wrapper::after,.ant-upload-picture-card-wrapper::before{display:table;content:''}.ant-upload-picture-card-wrapper::after{clear:both}.ant-upload-list{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;line-height:1.5715}.ant-upload-list::after{clear:both}.ant-upload-list-item{position:relative;height:22px;margin-top:8px;font-size:14px}.ant-upload-list-item-name{padding-left:22px;overflow:hidden;line-height:1.5715;white-space:nowrap;text-overflow:ellipsis}.ant-upload-list-item-card-actions{position:absolute;right:0}.ant-upload-list-item-card-actions-btn{opacity:0}.ant-upload-list-item-card-actions-btn.ant-btn-sm{height:20px;line-height:1}.ant-upload-list-item-card-actions.picture{top:22px;line-height:0}.ant-upload-list-item-card-actions-btn:focus,.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn{opacity:1}.ant-upload-list-item-card-actions .anticon{color:rgba(255,255,255,.45)}.ant-upload-list-item-info{height:100%;padding:0 4px;transition:background-color .3s}.ant-upload-list-item-info>span{display:block;width:100%;height:100%}.ant-upload-list-item-info .ant-upload-text-icon .anticon,.ant-upload-list-item-info .anticon-loading .anticon{position:absolute;top:5px;color:rgba(255,255,255,.45);font-size:14px}.ant-upload-list-item .anticon-close{position:absolute;top:6px;right:4px;color:rgba(255,255,255,.45);font-size:10px;line-height:0;cursor:pointer;opacity:0;transition:all .3s}.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .anticon-close{opacity:1}.ant-upload-list-item .anticon-close:hover{color:rgba(255,255,255,.85)}.ant-upload-list-item:hover .ant-upload-list-item-info{background-color:rgba(255,255,255,.08)}.ant-upload-list-picture .ant-upload-list-item:hover,.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item:hover,.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info{background:0 0}.ant-upload-list-item-error,.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon,.ant-upload-list-item-error .ant-upload-list-item-name,.ant-upload-list-item-error .ant-upload-text-icon>.anticon{color:#a61d24}.ant-upload-list-item-progress{position:absolute;bottom:-12px;width:100%;padding-left:26px;font-size:14px;line-height:0}.ant-upload-list-picture .ant-upload-list-item,.ant-upload-list-picture-card .ant-upload-list-item{position:relative;height:66px;padding:8px;border:1px solid #434343;border-radius:2px}.ant-upload-list-picture .ant-upload-list-item-error,.ant-upload-list-picture-card .ant-upload-list-item-error{border-color:#a61d24}.ant-upload-list-picture .ant-upload-list-item-uploading,.ant-upload-list-picture-card .ant-upload-list-item-uploading{border-style:dashed}.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{width:48px;height:48px;line-height:54px;text-align:center;opacity:.8}.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff']{fill:#e6d9d8}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff']{fill:#a61d24}.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-picture-card .ant-upload-list-item-icon{position:absolute;top:50%;left:50%;font-size:26px;transform:translate(-50%,-50%)}.ant-upload-list-picture .ant-upload-list-item-icon .anticon,.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-image,.ant-upload-list-picture-card .ant-upload-list-item-image{max-width:100%}.ant-upload-list-picture .ant-upload-list-item-thumbnail img,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{display:block;width:48px;height:48px;overflow:hidden}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-name{display:inline-block;box-sizing:border-box;max-width:100%;margin:0 0 0 8px;padding-right:8px;padding-left:48px;overflow:hidden;line-height:44px;white-space:nowrap;text-overflow:ellipsis;transition:all .3s}.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name{line-height:28px}.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:14px;width:calc(100% - 24px);margin-top:0;padding-left:56px}.ant-upload-list-picture .anticon-close,.ant-upload-list-picture-card .anticon-close{position:absolute;top:8px;right:8px;line-height:1;opacity:1}.ant-upload-list-picture-card-container{display:inline-block;width:104px;height:104px;margin:0 8px 8px 0;vertical-align:top}.ant-upload-list-picture-card.ant-upload-list::after{display:none}.ant-upload-list-picture-card .ant-upload-list-item{height:100%;margin:0}.ant-upload-list-picture-card .ant-upload-list-item-info{position:relative;height:100%;overflow:hidden}.ant-upload-list-picture-card .ant-upload-list-item-info::before{position:absolute;z-index:1;width:100%;height:100%;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s;content:' '}.ant-result-content,.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item{background-color:rgba(255,255,255,.04)}.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-actions{position:absolute;top:50%;left:50%;z-index:10;white-space:nowrap;transform:translate(-50%,-50%);opacity:0;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye{z-index:10;width:16px;margin:0 4px;color:rgba(255,255,255,.85);font-size:16px;cursor:pointer;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover{color:#fff}.ant-upload-list-picture-card .ant-upload-list-item-actions:hover,.ant-upload-list-picture-card .ant-upload-list-item-info:hover+.ant-upload-list-item-actions{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{position:static;display:block;width:100%;height:100%;object-fit:contain}.ant-upload-list-picture-card .ant-upload-list-item-name{display:none;margin:8px 0 0;padding:0;line-height:1.5715;text-align:center}.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{position:absolute;bottom:10px;display:block}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info{height:auto}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before{display:none}.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:32px;width:calc(100% - 14px);padding-left:0}.ant-upload-list-picture-container,.ant-upload-list-text-container{transition:opacity .3s,height .3s}.ant-upload-list-picture-container::before,.ant-upload-list-text-container::before{display:table;width:0;height:0;content:''}.ant-upload-list-picture-container .ant-upload-span,.ant-upload-list-text-container .ant-upload-span{display:block;flex:auto}.ant-upload-list-picture .ant-upload-span,.ant-upload-list-text .ant-upload-span{display:flex;align-items:center}.ant-upload-list-picture .ant-upload-span>*,.ant-upload-list-text .ant-upload-span>*{flex:none}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-text .ant-upload-list-item-name{flex:auto;padding:0 8px}.ant-upload-list-picture .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-text-icon .anticon{position:static}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter,.ant-upload-list .ant-upload-animate-inline-leave{animation-duration:.3s;animation-fill-mode:cubic-bezier(.78,.14,.15,.86)}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter{animation-name:uploadAnimateInlineIn}.ant-upload-list .ant-upload-animate-inline-leave{animation-name:uploadAnimateInlineOut}@keyframes uploadAnimateInlineIn{from{width:0;height:0;margin:0;padding:0;opacity:0}}@keyframes uploadAnimateInlineOut{to{width:0;height:0;margin:0;padding:0;opacity:0}}.ant-upload-rtl.ant-upload.ant-upload-select-picture-card{margin-right:auto;margin-left:8px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1{padding-right:22px;padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2{padding-right:22px;padding-left:28px}.ant-upload-list-rtl .ant-upload-list-item-name{padding-right:22px;padding-left:0}.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1{padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-card-actions{right:auto;left:0}.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-info{padding:0 4px 0 12px}.ant-upload-list-rtl .ant-upload-list-item .anticon-close{right:auto;left:4px}.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-progress{padding-right:26px;padding-left:0}.ant-upload-list-picture .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item-info{padding:0}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{right:8px;left:auto}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name{margin:0 8px 0 0;padding-right:48px;padding-left:8px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1{padding-right:48px;padding-left:18px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2{padding-right:48px;padding-left:36px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress{padding-right:0;padding-left:0}.ant-upload-list-rtl.ant-upload-list-picture .anticon-close,.ant-upload-list-rtl.ant-upload-list-picture-card .anticon-close{right:auto;left:8px}.ant-upload-list-rtl .ant-upload-list-picture-card-container{margin:0 0 8px 8px}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{margin:8px 0 0;padding:0}.ant-cascader,.ant-cascader-picker,.ant-select-auto-complete{margin:0;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;font-feature-settings:tnum;list-style:none;box-sizing:border-box;font-variant:tabular-nums}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item{float:unset}.ant-select-auto-complete{padding:0}.ant-select-auto-complete .ant-select-clear{right:13px}.ant-select-dropdown-hidden{display:none}.ant-cascader{padding:0}.ant-cascader-input.ant-input{position:static;width:100%;padding-right:24px;background-color:transparent!important;cursor:pointer}.ant-cascader-picker-show-search .ant-cascader-input.ant-input{position:relative}.ant-cascader-picker{padding:0;position:relative;display:inline-block;background-color:transparent;border-radius:2px;outline:0;cursor:pointer;transition:color .3s}.ant-cascader-picker-with-value .ant-cascader-picker-label{color:transparent}.ant-cascader-picker-disabled{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);cursor:not-allowed}.ant-cascader-picker-disabled .ant-cascader-input{cursor:not-allowed}.ant-cascader-picker:focus .ant-cascader-input{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input{border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-borderless .ant-cascader-input{border-color:transparent!important;box-shadow:none!important}.ant-cascader-picker-show-search.ant-cascader-picker-focused{color:rgba(255,255,255,.3)}.ant-cascader-picker-label{position:absolute;top:50%;left:0;width:100%;height:20px;margin-top:-10px;padding:0 20px 0 12px;overflow:hidden;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.ant-cascader-picker-arrow,.ant-cascader-picker-clear{position:absolute;height:12px;font-size:12px;line-height:12px;right:12px;width:12px}.ant-cascader-picker-clear{top:50%;z-index:2;margin-top:-6px;color:rgba(255,255,255,.3);background:#141414;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease}.ant-cascader-picker-clear:hover{color:rgba(255,255,255,.45)}.ant-cascader-picker:hover .ant-cascader-picker-clear{opacity:1}.ant-cascader-picker-arrow{top:50%;z-index:1;margin-top:-6px;color:rgba(255,255,255,.3)}.ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input){border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input){border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-small .ant-cascader-picker-clear{right:8px}.ant-cascader-menus{z-index:1050;font-size:14px;white-space:nowrap;background:#1f1f1f;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-cascader-menus ol,.ant-cascader-menus ul{margin:0;list-style:none}.ant-cascader-menus-empty,.ant-cascader-menus-hidden{display:none}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-topLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-bottomLeft{animation-name:antSlideUpOut}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownOut}.ant-cascader-menu{display:inline-block;min-width:111px;height:180px;margin:0;padding:4px 0;overflow:auto;vertical-align:top;list-style:none;border-right:1px solid #303030;-ms-overflow-style:-ms-autohiding-scrollbar}.ant-cascader-menu:first-child{border-radius:2px 0 0 2px}.ant-cascader-menu:last-child{margin-right:-1px;border-right-color:transparent;border-radius:0 2px 2px 0}.ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-item{padding:5px 12px;overflow:hidden;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-cascader-menu-item:hover{background:rgba(255,255,255,.08)}.ant-cascader-menu-item-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-cascader-menu-item-disabled:hover{background:0 0}.ant-cascader-menu-empty .ant-cascader-menu-item{color:rgba(255,255,255,.3);cursor:default;pointer-events:none}.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover{font-weight:600;background-color:#111b26}.ant-cascader-menu-item-expand{position:relative;padding-right:24px}.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-loading-icon{position:absolute;right:12px;color:rgba(255,255,255,.45);font-size:10px}.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon{color:rgba(255,255,255,.3)}.ant-cascader-menu-item .ant-cascader-menu-item-keyword{color:#a61d24}.ant-cascader-picker-rtl .ant-cascader-input.ant-input{padding-right:11px;padding-left:24px;text-align:right}.ant-cascader-picker-rtl .ant-cascader-picker-label{padding:0 12px 0 20px;text-align:right}.ant-cascader-picker-rtl .ant-cascader-picker-arrow,.ant-cascader-picker-rtl .ant-cascader-picker-clear{right:auto;left:12px}.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-clear{right:auto;left:8px}.ant-cascader-menu-rtl .ant-cascader-menu{border-right:none;border-left:1px solid #303030}.ant-cascader-menu-rtl .ant-cascader-menu:first-child{border-radius:0 2px 2px 0}.ant-cascader-menu-rtl .ant-cascader-menu:last-child{margin-right:0;margin-left:-1px;border-left-color:transparent;border-radius:2px 0 0 2px}.ant-cascader-menu-rtl .ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand{padding-right:12px;padding-left:24px}.ant-tree-checkbox,.ant-tree-checkbox-wrapper{padding:0;list-style:none;font-feature-settings:tnum}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon{right:auto;left:12px}.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon{transform:scaleY(-1)}.ant-cascader-menus{position:relative;margin-top:2px;margin-bottom:2px}nz-tree-virtual-scroll-view{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}nz-tree-virtual-scroll-view .ant-tree-list,nz-tree-virtual-scroll-view .ant-tree-list-holder{height:100%}nz-tree-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon,nz-tree-virtual-scroll-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon{display:none}nz-tree-view .ant-tree-list-holder-inner{display:flex;flex-direction:column}.ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before{top:auto!important;bottom:auto!important;height:14px!important}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode::before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:'';pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before{background:rgba(255,255,255,.08)}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before{background:#177ddc}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:0 0}.ant-tree-checkbox{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#177ddc}.ant-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after,.ant-tree-checkbox:hover::after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:transparent;border:1px solid #434343;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-disabled,.ant-tree-checkbox-disabled .ant-tree-checkbox-input,.ant-tree-checkbox-disabled+span{cursor:not-allowed}.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-select-tree,.ant-tree{transition:background-color .3s}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#177ddc;border-color:#177ddc}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{border-color:rgba(255,255,255,.3);animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{border-color:rgba(255,255,255,.08);border-collapse:separate;animation-name:none}.ant-tree-checkbox-disabled+span{color:rgba(255,255,255,.3)}.ant-tree-checkbox-disabled:hover::after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after{visibility:hidden}.ant-tree-checkbox-wrapper{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-tree,.ant-tree-checkbox-group{padding:0;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-tree-checkbox-group{margin:0;display:inline-block}.ant-tree-checkbox-group-item{margin-right:8px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:transparent;border-color:#434343}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after{top:50%;left:50%;width:8px;height:8px;background-color:#177ddc;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item{margin-right:0;margin-left:8px}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:8px}.ant-tree{margin:0;background:0 0;border-radius:2px}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#111b26}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper,.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:0}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:rgba(255,255,255,.08)}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;user-select:none}.ant-tree-switcher .ant-select-tree-switcher-icon,.ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-select-tree-switcher-icon svg,.ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#177ddc}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line::after,.ant-tree-switcher-leaf-line::before{position:absolute;margin-left:-1px;content:' '}.ant-tree-switcher-leaf-line::before{top:0;bottom:-4px;border-left:1px solid #d9d9d9}.ant-tree-switcher-leaf-line::after{width:10px;height:14px;border-bottom:1px solid #d9d9d9}.ant-tree-checkbox{top:initial;margin:4px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:rgba(255,255,255,.08)}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#11263c}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree-show-line .ant-tree-indent-unit-end::before{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper[draggable=true]{line-height:24px;user-select:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#177ddc;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #177ddc;border-radius:50%;content:''}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #177ddc}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit::before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #434343;content:''}.ant-tree-show-line .ant-tree-switcher{background:#141414}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{right:-6px;left:unset}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before{right:auto;left:-13px;border-right:none;border-left:1px solid #434343}.ant-tree-rtl.ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:4px 0 0 8px}.font-highlight{color:#a61d24}.ant-select-tree,.ant-select-tree-checkbox,.ant-select-tree-checkbox-group,.ant-select-tree-checkbox-wrapper{color:rgba(255,255,255,.85);font-size:14px}.ant-tree-child-tree{overflow:hidden}nz-tree{display:block}.ant-select-tree-checkbox{box-sizing:border-box;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-select-tree-checkbox-input:focus+.ant-select-tree-checkbox-inner,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner,.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner{border-color:#177ddc}.ant-select-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after,.ant-select-tree-checkbox:hover::after{visibility:visible}.ant-input-number__hide-step .ant-input-number-handler-wrap,.ant-select-tree-checkbox-disabled:hover::after,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after,.exception__img-block::after{visibility:hidden}.ant-select-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:transparent;border:1px solid #434343;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-picker-calendar-rtl,.ant-result-rtl,.ant-select-tree-checkbox-rtl,.ant-space-rtl,.ant-tree-select-dropdown-rtl,.avatar-list-rtl,.error-collect-rtl,.exception-rtl,.global-footer-rtl,.loading-default-rtl,.onboarding-rtl,.page-header-rtl,.result-rtl,.setting-drawer-rtl,.tag-select-rtl{direction:rtl}.ant-select-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-select-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#177ddc;border-color:#177ddc}.ant-select-tree-checkbox-disabled{cursor:not-allowed}.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{border-color:rgba(255,255,255,.3);animation-name:none}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input{cursor:not-allowed}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{border-color:rgba(255,255,255,.08);border-collapse:separate;animation-name:none}.ant-select-tree-checkbox-disabled+span{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-select-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-select-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-select-tree-checkbox-wrapper+.ant-select-tree-checkbox-wrapper{margin-left:8px}.ant-select-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;display:inline-block}.ant-select-tree-checkbox-group-item{margin-right:8px}.ant-select-tree-checkbox-group-item:last-child{margin-right:0}.ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:0}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:transparent;border-color:#434343}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{top:50%;left:50%;width:8px;height:8px;background-color:#177ddc;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item{margin-right:0;margin-left:8px}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:8px}.ant-tree-select-dropdown{padding:8px 4px 0}.ant-tree-select-dropdown .ant-select-tree{border-radius:0}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode{padding-bottom:8px}.ant-picker-calendar,.ant-select-tree{padding:0;line-height:1.5715;box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-select-tree{margin:0;background:0 0;border-radius:2px}.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused){background:#111b26}.ant-select-tree-list-holder-inner{align-items:flex-start}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner{align-items:stretch}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree .ant-select-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:0}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover{background:0 0}.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background:rgba(255,255,255,.08)}.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title{color:inherit;font-weight:500}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-select-tree-switcher-loading-icon{color:#177ddc}.ant-select-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-select-tree-indent-unit{display:inline-block;width:24px}.ant-select-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;user-select:none}.ant-select-tree-switcher .ant-select-tree-switcher-icon,.ant-select-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-select-tree-switcher .ant-select-tree-switcher-icon svg,.ant-select-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-select-tree-switcher-noop{cursor:default}.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-select-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-select-tree-switcher-leaf-line::before{position:absolute;top:0;bottom:-4px;margin-left:-1px;border-left:1px solid #d9d9d9;content:' '}.ant-select-tree-switcher-leaf-line::after{position:absolute;width:10px;height:14px;margin-left:-1px;border-bottom:1px solid #d9d9d9;content:' '}.ant-select-tree-checkbox{top:initial;margin:4px 8px 0 0}.ant-select-tree .ant-select-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-select-tree .ant-select-tree-node-content-wrapper:hover,.g2-mini-progress__wrap{background-color:rgba(255,255,255,.08)}.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{background-color:#11263c}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty,.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before{display:none}.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover{background-color:transparent}.ant-select-tree-node-content-wrapper[draggable=true]{line-height:24px;user-select:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#177ddc;border-radius:1px;pointer-events:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #177ddc;border-radius:50%;content:''}.ant-select-tree .ant-select-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #177ddc}.ant-select-tree-show-line .ant-select-tree-indent-unit{position:relative;height:100%}.ant-select-tree-show-line .ant-select-tree-indent-unit::before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #434343;content:''}.ant-select-tree-show-line .ant-select-tree-switcher{background:#141414}.ant-select-tree-show-line .ant-select-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon{transform:scaleY(-1)}.ant-tree.ant-select-tree.ant-tree-show-line nz-tree-node[builtin]:not(:last-child)>li::before{content:' ';width:1px;border-left:1px solid #d9d9d9;height:calc(100% - 16px);position:absolute;left:12px;margin:26px 0}.ant-select-dropdown.ant-select-tree-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;overflow:auto}.ant-picker-calendar{margin:0;color:rgba(255,255,255,.85);font-size:14px;background:#141414}.ant-picker-calendar-header{display:flex;justify-content:flex-end;padding:12px 0}.ant-picker-calendar .ant-picker-panel .ant-picker-body,.task__item{padding:8px 0}.ant-picker-calendar-header .ant-picker-calendar-year-select{min-width:80px}.ant-picker-calendar-header .ant-picker-calendar-month-select{min-width:70px;margin-left:8px}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{margin-left:8px}.ant-picker-calendar .ant-picker-panel{background:#141414;border:0;border-top:1px solid #303030;border-radius:0}.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel,.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel{width:auto}.ant-picker-calendar .ant-picker-panel .ant-picker-content{width:100%}.ant-picker-calendar-mini{border-radius:2px}.ant-picker-calendar-mini .ant-picker-calendar-header{padding-right:8px;padding-left:8px}.ant-picker-calendar-mini .ant-picker-panel{border-radius:0 0 2px 2px}.ant-picker-calendar-mini .ant-picker-content{height:256px}.ant-picker-calendar-mini .ant-picker-content th{height:auto;padding:0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel{display:block;width:100%;text-align:right;background:#141414;border:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before{display:none}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td,.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{height:auto;padding:0 12px 5px 0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date{background:rgba(255,255,255,.08)}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today{background:#111b26}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{display:block;width:auto;height:auto;margin:0 4px;padding:4px 8px 0;border:0;border-top:2px solid #303030;border-radius:0;transition:background .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value{line-height:24px;transition:color .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{position:static;width:auto;height:86px;overflow-y:auto;color:rgba(255,255,255,.85);line-height:1.5715;text-align:left}.ant-image,.half-float,.row-masonry{position:relative}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today{border-color:#177ddc}.modal-header,.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:1px solid #303030}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value{color:rgba(255,255,255,.85)}@media only screen and (max-width:480px){.ant-picker-calendar-header{display:block}.ant-picker-calendar-header .ant-picker-calendar-year-select{width:50%}.ant-picker-calendar-header .ant-picker-calendar-month-select{width:calc(50% - 8px)}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{width:100%;margin-top:8px;margin-left:0}.ant-picker-calendar-header .ant-picker-calendar-mode-switch>label{width:50%;text-align:center}}.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch,.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select{margin-right:8px;margin-left:0}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel{text-align:left}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0 0 5px 12px}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{text-align:right}.ant-result{padding:48px 32px}.ant-result-success .ant-result-icon>.anticon{color:#49aa19}.ant-result-error .ant-result-icon>.anticon{color:#a61d24}.ant-result-info .ant-result-icon>.anticon{color:#177ddc}.ant-result-warning .ant-result-icon>.anticon{color:#d89614}.ant-result-image{width:250px;height:295px;margin:auto}.ant-result-icon{margin-bottom:24px;text-align:center}.ant-result-icon>.anticon{font-size:72px}.ant-result-title{color:rgba(255,255,255,.85);font-size:24px;line-height:1.8;text-align:center}.ant-result-subtitle{color:rgba(255,255,255,.45);font-size:14px;line-height:1.6;text-align:center}.ant-result-extra{margin:24px 0 0;text-align:center}.ant-result-extra>*{margin-right:8px}.ant-result-extra>:last-child{margin-right:0}.ant-result-content{margin-top:24px;padding:24px 40px}.ant-result-rtl .ant-result-extra>*{margin-right:0;margin-left:8px}.ant-result-rtl .ant-result-extra>:last-child{margin-left:0}nz-result{display:block}.ant-space{display:inline-flex}.ant-space-vertical{flex-direction:column}.ant-space-align-center{align-items:center}.ant-space-align-start{align-items:flex-start}.ant-space-align-end{align-items:flex-end}.ant-space-align-baseline{align-items:baseline}.ant-space-item:empty{display:none}nz-space-item{display:block}.ant-image{display:inline-block}.ant-image-mask,.ant-image-placeholder{position:absolute;left:0;top:0;right:0;bottom:0}.ant-image-img{display:block;width:100%;height:auto}.ant-image-img-placeholder{background-color:#f5f5f5;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);background-repeat:no-repeat;background-position:center center;background-size:30%}.ant-image-mask{display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.5);cursor:pointer;opacity:0;transition:opacity .3s}.ant-image-mask:hover,.cdk-overlay-backdrop.ant-image-preview-mask,.img-thm:hover .img-thm__icon,.loading-backdrop{opacity:1}.ant-image-preview-img,.ant-image-preview-img-wrapper{transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s}.ant-image-mask-info .anticon{margin-inline-end:4px}.ant-image-preview{pointer-events:none;height:100%;text-align:center}.ant-image-preview.ant-zoom-enter,.ant-image-preview.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.ant-image-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:rgba(0,0,0,.45)}.ant-image-preview-mask-hidden{display:none}.ant-image-preview-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;z-index:1080}.ant-image-preview-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ant-image-preview-img{max-width:100%;max-height:100%;vertical-align:middle;transform:scale3d(1,1,1);cursor:grab;user-select:none;pointer-events:auto}.ant-image-preview-img-wrapper{position:absolute;top:0;right:0;bottom:0;left:0}.ant-image-preview-img-wrapper::before{display:inline-block;width:1px;height:50%;margin-right:-1px;content:''}.ant-image-preview-moving .ant-image-preview-img{cursor:grabbing}.ant-image-preview-moving .ant-image-preview-img-wrapper{transition-duration:0s}.ant-image-preview-operations{box-sizing:border-box;margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;font-feature-settings:tnum;position:absolute;top:0;right:0;z-index:1;display:flex;flex-direction:row-reverse;align-items:center;width:100%;color:rgba(255,255,255,.85);list-style:none;background:rgba(0,0,0,.1);pointer-events:auto}.ant-image-preview-operations-icon,.ant-image-preview-switch-left>.anticon,.ant-image-preview-switch-right>.anticon{font-size:18px}.ant-image-preview-operations-operation{margin-left:12px;padding:12px;cursor:pointer}.ant-image-preview-operations-operation-disabled{color:rgba(255,255,255,.25);pointer-events:none}.ant-image-preview-operations-operation:last-of-type{margin-left:0}.ant-image-preview-switch-left,.ant-image-preview-switch-right{position:absolute;top:50%;right:10px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.1);border-radius:50%;cursor:pointer;pointer-events:auto}.ant-image-preview-switch-left-disabled,.ant-image-preview-switch-right-disabled{color:rgba(255,255,255,.25);cursor:not-allowed}.ant-image-preview-switch-left-disabled>.anticon,.ant-image-preview-switch-right-disabled>.anticon{cursor:not-allowed}.ant-image-preview-switch-left{left:10px}.ant-image-preview-switch-right{right:10px}sf+st{margin-top:16px}.ant-btn+.ant-btn,.ant-btn+nz-button-group,.ant-btn+nz-dropdown,.ant-btn+nz-popconfirm,nz-button-group+.ant-btn,nz-button-group+nz-popconfirm,nz-dropdown+.ant-btn,nz-popconfirm+.ant-btn,nz-popconfirm+nz-button-group,nz-popconfirm+nz-popconfirm{margin-left:8px}.ant-btn-group .ant-btn+.ant-btn{margin-left:-1px}.ant-transfer-operation .ant-btn+.ant-btn{margin-left:initial}[dir=rtl] .ant-btn+.ant-btn,[dir=rtl] .ant-btn+nz-button-group,[dir=rtl] .ant-btn+nz-dropdown,[dir=rtl] .ant-btn+nz-popconfirm,[dir=rtl] nz-button-group+.ant-btn,[dir=rtl] nz-button-group+nz-popconfirm,[dir=rtl] nz-dropdown+.ant-btn,[dir=rtl] nz-popconfirm+.ant-btn,[dir=rtl] nz-popconfirm+nz-button-group,[dir=rtl] nz-popconfirm+nz-popconfirm{margin-right:8px;margin-left:inherit}a:focus{text-decoration:none}.ant-card{margin-bottom:16px}.ant-card__body-nopadding .ant-card-body{padding:0!important}@media (min-width:300px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:auto!important;max-width:300px}}@media (max-width:299px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:100%!important}}@media (min-width:600px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:auto!important;max-width:600px}}@media (max-width:599px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:100%!important}}@media (min-width:900px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:auto!important;max-width:900px}}@media (max-width:899px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:100%!important}}@media (min-width:1200px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:auto!important;max-width:1200px}}@media (max-width:1199px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:100%!important}}.drawer-footer{position:absolute;bottom:0;left:0;width:100%;padding:10px 24px;text-align:right;background:#1f1f1f;border-radius:0 0 2px 2px}.ant-form-item-label em{color:#bfbfbf}.ant-form-item-control em{margin-left:8px}[dir=rtl] .ant-form-item-control em{margin-right:8px;margin-left:inherit}@media (min-width:576px){.modal-sm .ant-modal{width:auto!important;max-width:300px}}@media (min-width:768px){.modal-md .ant-modal{width:auto!important;max-width:600px}}@media (min-width:992px){.modal-lg .ant-modal{width:auto!important;max-width:900px}}@media (min-width:1600px){.modal-xl .ant-modal{width:auto!important;max-width:1200px}}.modal-header{display:flex;justify-content:space-between;margin:-24px -24px 24px;padding:16px 24px;background:#141414;border-radius:2px 2px 0 0}.modal-title{margin:0;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;line-height:22px;word-wrap:break-word}.modal-title small{margin-left:8px;color:#8c8c8c;font-size:12px}.modal-spin{display:block;min-height:150px;line-height:150px;text-align:center}.modal-footer{margin:24px -24px -24px;padding:10px 16px;text-align:right;border-radius:0 0 2px 2px}.modal-include-tabs nz-tabset{margin-top:-16px}.modal-body-nopadding .ant-modal-body{padding:0!important}.ant-table td .img,.ant-table td>img{max-width:32px;max-height:32px;margin-right:4px;vertical-align:middle;border-radius:4px}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title,.ant-table-rep__title{display:none}[dir=rtl] .ant-table td .img,[dir=rtl] .ant-table td>img{margin-right:inherit;margin-left:4px}@media screen and (max-width:767px){.ant-table-rep__title{display:inline-block;width:100px;padding-right:8px;color:rgba(179,179,179,.85);text-align:right}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title{display:block}.ant-table-rep .ant-table table{width:100%!important;table-layout:auto!important}.ant-table-rep .ant-table-thead{display:none}.ant-table-rep .ant-table-title{text-align:center;background:#303030}.ant-table-rep .ant-table-tbody>tr:nth-child(4n+3){background:#0c0c0c}.ant-table-rep .ant-table-tbody>tr>td{display:flex;align-items:center;width:100%;padding:8px;white-space:inherit;text-align:left!important;border-bottom:none}.ant-table-rep .ant-table-tbody>tr>td .ant-table-rep__title+:not(.ant-avatar){flex:1;word-break:break-all}}.ant-tag__plus .ant-tag{background:#fff;border-style:dashed}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small{font-size:75%}.h1{font-size:34px}.h2{font-size:26px}.h3{font-size:22px}.h4{font-size:18px}.h5{font-size:16px}.h6{font-size:14px}.list-styled{list-style:inherit;padding-right:18px;padding-left:0}.list-unstyled{list-style:none;padding-right:0;padding-left:inherit}fieldset{border:none}.display-1{font-size:32px}.display-2{font-size:24px}.display-3{font-size:20px}.search__form .ant-form-item{margin-right:0;margin-bottom:24px}.search__form .ant-form-item-control{flex:1}.file-manager,.sf__object-card .sf__fixed{flex-wrap:wrap}.half-float img{display:block;max-width:100%;height:auto}.half-float .half-float-bottom{position:absolute;left:50%;z-index:2}.half-float.half-float-sm{margin-bottom:42px}.half-float.half-float-sm .half-float-bottom{bottom:-32px;width:64px;height:64px;margin-left:-32px}.half-float.half-float-md{margin-bottom:50px}.half-float.half-float-md .half-float-bottom{bottom:-40px;width:80px;height:80px;margin-left:-40px}.half-float.half-float-lg{margin-bottom:58px}.half-float.half-float-lg .half-float-bottom{bottom:-48px;width:96px;height:96px;margin-left:-48px}.row-masonry{width:100%;margin:0;padding:0;column-gap:16px}.row-masonry>.col-masonry{display:inline-block;width:100%;min-height:1em;margin-bottom:15px}.sf__array>.ant-form-item,.sf__title{margin-bottom:8px}.row-masonry img{max-width:100%}@media only screen and (min-width:480px){.row-masonry-xs-1{column-count:1;columns:1}.row-masonry-xs-2{column-count:2;columns:2}.row-masonry-xs-3{column-count:3;columns:3}.row-masonry-xs-4{column-count:4;columns:4}.row-masonry-xs-5{column-count:5;columns:5}.row-masonry-xs-6{column-count:6;columns:6}.row-masonry-xs-7{column-count:7;columns:7}.row-masonry-xs-8{column-count:8;columns:8}.row-masonry-xs-9{column-count:9;columns:9}}@media only screen and (min-width:576px){.row-masonry-sm-1{column-count:1;columns:1}.row-masonry-sm-2{column-count:2;columns:2}.row-masonry-sm-3{column-count:3;columns:3}.row-masonry-sm-4{column-count:4;columns:4}.row-masonry-sm-5{column-count:5;columns:5}.row-masonry-sm-6{column-count:6;columns:6}.row-masonry-sm-7{column-count:7;columns:7}.row-masonry-sm-8{column-count:8;columns:8}.row-masonry-sm-9{column-count:9;columns:9}}@media only screen and (min-width:768px){.row-masonry-md-1{column-count:1;columns:1}.row-masonry-md-2{column-count:2;columns:2}.row-masonry-md-3{column-count:3;columns:3}.row-masonry-md-4{column-count:4;columns:4}.row-masonry-md-5{column-count:5;columns:5}.row-masonry-md-6{column-count:6;columns:6}.row-masonry-md-7{column-count:7;columns:7}.row-masonry-md-8{column-count:8;columns:8}.row-masonry-md-9{column-count:9;columns:9}}@media only screen and (min-width:992px){.row-masonry-lg-1{column-count:1;columns:1}.row-masonry-lg-2{column-count:2;columns:2}.row-masonry-lg-3{column-count:3;columns:3}.row-masonry-lg-4{column-count:4;columns:4}.row-masonry-lg-5{column-count:5;columns:5}.row-masonry-lg-6{column-count:6;columns:6}.row-masonry-lg-7{column-count:7;columns:7}.row-masonry-lg-8{column-count:8;columns:8}.row-masonry-lg-9{column-count:9;columns:9}}@media only screen and (min-width:1200px){.row-masonry-xl-1{column-count:1;columns:1}.row-masonry-xl-2{column-count:2;columns:2}.row-masonry-xl-3{column-count:3;columns:3}.row-masonry-xl-4{column-count:4;columns:4}.row-masonry-xl-5{column-count:5;columns:5}.row-masonry-xl-6{column-count:6;columns:6}.row-masonry-xl-7{column-count:7;columns:7}.row-masonry-xl-8{column-count:8;columns:8}.row-masonry-xl-9{column-count:9;columns:9}}.header-dropdown{background-color:#1f1f1f;border-radius:4px}@media screen and (max-width:480px){.header-dropdown{right:0!important;left:0!important;width:100%!important;border-radius:0!important}}.sf{display:block}.sf__optional{margin-left:2px;color:rgba(128,128,128,.85)}.sf__fixed{display:flex}.sf__title{padding:0 16px;font-weight:700;text-align:left}.sf__object-card .ant-card-body{padding-left:0}.sf__object-card-fold .ant-card-body{display:none}.sf__array-add{margin-right:16px}.sf__array-container .ant-card{margin:0 16px 16px 0}.sf__array-container .ant-card-body{padding-bottom:0}.sf__array-container .ant-card .sf__array-remove{position:absolute;top:-16px;right:-16px;display:none;width:32px;height:32px;font-size:20px;line-height:32px;text-align:center;background:rgba(0,0,0,.66);border-radius:50%;cursor:pointer}.sf__array-container .ant-card .sf__array-remove i{color:#fff}.sf__array-container .ant-card:hover .sf__array-remove{display:block}@media (max-width:767px){.sf__array>.ant-form-item>.ant-form-item-control-wrapper,.sf__array>.ant-form-item>.ant-form-item-label{flex:0 0 100%;max-width:100%}.sf__array>.ant-form-item>.ant-form-item-label{display:flex;margin-bottom:8px}.sf__array-container .ant-card{margin-right:0}.sf__array-container .ant-card .sf__array-remove{right:8px;display:block}.sf__array-container>.sf__array-item{flex:0 0 100%;max-width:100%}}.sf__checkbox-list{display:block;width:100%}@media (min-width:768px){.sf__checkbox-list .ant-col{margin-top:8px}}.sf .ant-upload-select-picture-card i{color:#999;font-size:32px}.sf .ant-upload.ant-upload-drag{height:180px}.sf .ant-transfer-list{background:inherit}.sf .ant-transfer-list-header label{position:unset}.sf .ant-transfer .ant-btn+.ant-btn{margin-left:0}.sf__no-error .ant-form-item{margin-bottom:8px}.sf__inline .sf__item{display:inline-block;margin-bottom:8px;vertical-align:top}.sf__inline .ant-form-inline>.sf__item,.sf__inline .sf__array-container .ant-card-body>.sf__item{margin-bottom:0}.sf__inline .ant-form-inline .ant-select{min-width:100px}.sf__inline .sf__array-container>.sf__array-item{flex:initial;width:100%;max-width:100%}.sf__inline .sf__array-container .ant-card{margin:0}.sf__inline .sf__array-container .ant-card-body{padding:8px 0 0 8px}.sf__inline .sf-btns{margin-right:0}@media (max-width:767px){.sf__inline .sf__item{display:block;width:100%}.sf__inline .sf__item .ant-form-item{display:block!important;width:initial!important;margin-right:0}.sf__inline .ant-form-item-control,.sf__inline .ant-form-item-label{display:block!important;padding:inherit}}.sf__horizontal .ant-form-item-label>label{display:flex;justify-content:flex-end}.sf__horizontal .sf__label-text{overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.sf__horizontal .ant-form-item-label>label{justify-content:flex-start}}.sf__no-colon .ant-form-item-label label::after{content:' '}.sf__compact .ant-form-item{margin-bottom:8px}.sf__compact .sf__array-container .ant-card{margin:0 8px 8px 0}.sf__compact .sf__array-item .ant-card-body{padding:8px}.acl__hide{display:none!important}.setting-drawer__content{position:relative;min-height:100%;background:#1f1f1f}.setting-drawer__handle,.theme-btn{position:fixed;display:flex;cursor:pointer}.setting-drawer__body-item{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}.setting-drawer__body-item:first-child{padding-top:0}.setting-drawer__body-item:last-child{padding-bottom:0}.setting-drawer__title{margin-bottom:12px;color:rgba(255,255,255,.85);font-size:14px;line-height:22px}.setting-drawer__theme{margin-top:24px;overflow:hidden}.setting-drawer__theme-tag{float:left;width:20px;height:20px;margin-right:8px;color:#fff;font-weight:700;text-align:center;border-radius:2px;cursor:pointer}.setting-drawer__handle{right:0;z-index:999;align-items:center;justify-content:center;font-size:16px;text-align:center;border-radius:4px 0 0 4px;transition:right .3s cubic-bezier(.9,0,.3,.7);pointer-events:auto}.setting-drawer__handle-icon{color:#fff}.setting-drawer__handle-opened{z-index:1001}.setting-drawer-rtl .setting-drawer__handle{right:inherit;left:0;border-radius:0 4px 4px 0}.theme-btn{right:32px;bottom:102px;z-index:2147483640;flex-direction:column}.theme-btn-active{width:44px;height:44px;color:#177ddc;font-size:22px;line-height:44px}.theme-btn .ant-avatar{color:#000;background-color:#fff;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2);transition:color .3s}.theme-btn .ant-avatar:hover,.yn__yes{color:#177ddc}.bg-blue-dark-h,.bg-blue-h,.bg-blue-light-h,.bg-cyan-dark-h,.bg-cyan-h,.bg-cyan-light-h,.bg-error-h,.bg-geekblue-dark-h,.bg-geekblue-h,.bg-geekblue-light-h,.bg-gold-dark-h,.bg-gold-h,.bg-gold-light-h,.bg-green-dark-h,.bg-green-h,.bg-green-light-h,.bg-grey-dark-h,.bg-grey-darker-h,.bg-grey-h,.bg-grey-light-h,.bg-grey-lighter-h,.bg-highlight-h,.bg-info-h,.bg-lime-dark-h,.bg-lime-h,.bg-lime-light-h,.bg-magenta-dark-h,.bg-magenta-h,.bg-magenta-light-h,.bg-normal-h,.bg-orange-dark-h,.bg-orange-h,.bg-orange-light-h,.bg-primary-h,.bg-processing-h,.bg-purple-dark-h,.bg-purple-h,.bg-purple-light-h,.bg-red-dark-h,.bg-red-h,.bg-red-light-h,.bg-success-h,.bg-volcano-dark-h,.bg-volcano-h,.bg-volcano-light-h,.bg-warning-h,.bg-yellow-dark-h,.bg-yellow-h,.bg-yellow-light-h{transition:background-color .3s}.theme-btn-rtl{right:inherit;left:32px}.yn__no,.yn__yes{display:inline-flex;align-items:center;font-style:normal}.yn__no span,.yn__yes span{margin-left:4px}.yn__no{color:#8c8c8c}.pro-passport__langs .anticon,.text-white{color:#fff!important}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.border{border:1px solid #303030!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-1{border:1px solid #303030!important}.rounded-md,.rounded-sm{border-radius:2px}.course__img,.rounded-top-left-md,.rounded-top-left-sm{border-top-left-radius:2px}.course__img,.rounded-top-right-md,.rounded-top-right-sm{border-top-right-radius:2px}.rounded-bottom-left-md,.rounded-bottom-left-sm{border-bottom-left-radius:2px}.rounded-bottom-right-md,.rounded-bottom-right-sm{border-bottom-right-radius:2px}.border-top-1{border-top:1px solid #303030!important}.border-right-1{border-right:1px solid #303030!important}.border-bottom-1{border-bottom:1px solid #303030!important}.border-left-1{border-left:1px solid #303030!important}.border-red{border-color:#d32029!important}.border-volcano{border-color:#d84a1b!important}.border-orange{border-color:#d87a16!important}.border-gold{border-color:#d89614!important}.border-yellow{border-color:#d8bd14!important}.border-lime{border-color:#8bbb11!important}.border-green{border-color:#49aa19!important}.border-cyan{border-color:#13a8a8!important}.border-blue{border-color:#177ddc!important}.border-geekblue{border-color:#2b4acb!important}.border-purple{border-color:#642ab5!important}.border-magenta{border-color:#cb2b83!important}.border-grey{border-color:#bfbfbf!important}.border-primary{border-color:#177ddc!important}.border-success{border-color:#49aa19!important}.border-error{border-color:#a61d24!important}.border-warning{border-color:#d89614!important}.border-info,.border-processing{border-color:#177ddc!important}.border-highlight{border-color:#a61d24!important}.border-normal{border-color:#d9d9d9!important}.rounded-lg{border-radius:4px}.rounded-top-left-lg{border-top-left-radius:4px}.rounded-top-right-lg{border-top-right-radius:4px}.rounded-bottom-left-lg{border-bottom-left-radius:4px}.rounded-bottom-right-lg{border-bottom-right-radius:4px}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.border-white{border-color:#fff!important}.rotate-360{transform:rotate(360deg)}.rotate-345{transform:rotate(345deg)}.rotate-330{transform:rotate(330deg)}.rotate-315{transform:rotate(315deg)}.rotate-300{transform:rotate(300deg)}.rotate-285{transform:rotate(285deg)}.rotate-270{transform:rotate(270deg)}.rotate-255{transform:rotate(255deg)}.rotate-240{transform:rotate(240deg)}.rotate-225{transform:rotate(225deg)}.rotate-210{transform:rotate(210deg)}.rotate-195{transform:rotate(195deg)}.rotate-180{transform:rotate(180deg)}.rotate-165{transform:rotate(165deg)}.rotate-150{transform:rotate(150deg)}.rotate-135{transform:rotate(135deg)}.rotate-120{transform:rotate(120deg)}.rotate-105{transform:rotate(105deg)}.rotate-90{transform:rotate(90deg)}.rotate-75{transform:rotate(75deg)}.rotate-60{transform:rotate(60deg)}.rotate-45{transform:rotate(45deg)}.rotate-30{transform:rotate(30deg)}.rotate-15{transform:rotate(15deg)}code{margin:0 4px;padding:2px 4px;font-size:90%;background-color:#f7f7f7;border:1px solid #eee;border-radius:2px}.pr0,.px0{padding-right:0!important}.pl0,.px0,[dir=rtl] .pr0{padding-left:0!important}.pb0,.py0{padding-bottom:0!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-hover{cursor:pointer}.text-hover:hover{color:#177ddc!important}.bg-red-light{background-color:#a61d24!important}.bg-red{background-color:#d32029!important}.bg-red-dark{background-color:#e84749!important}.bg-red-light-h:hover{background-color:#a61d24!important}.bg-red-h:hover{background-color:#d32029!important}.bg-red-dark-h:hover{background-color:#e84749!important}.text-red-light{color:#a61d24!important}.text-red{color:#d32029!important}.text-red-dark{color:#e84749!important}.bg-volcano-light{background-color:#aa3e19!important}.bg-volcano{background-color:#d84a1b!important}.bg-volcano-dark{background-color:#e87040!important}.bg-volcano-light-h:hover{background-color:#aa3e19!important}.bg-volcano-h:hover{background-color:#d84a1b!important}.bg-volcano-dark-h:hover{background-color:#e87040!important}.text-volcano-light{color:#aa3e19!important}.text-volcano{color:#d84a1b!important}.text-volcano-dark{color:#e87040!important}.bg-orange-light{background-color:#aa6215!important}.bg-orange{background-color:#d87a16!important}.bg-orange-dark{background-color:#e89a3c!important}.bg-orange-light-h:hover{background-color:#aa6215!important}.bg-orange-h:hover{background-color:#d87a16!important}.bg-orange-dark-h:hover{background-color:#e89a3c!important}.text-orange-light{color:#aa6215!important}.text-orange{color:#d87a16!important}.text-orange-dark{color:#e89a3c!important}.bg-gold-light{background-color:#aa7714!important}.bg-gold{background-color:#d89614!important}.bg-gold-dark{background-color:#e8b339!important}.bg-gold-light-h:hover{background-color:#aa7714!important}.bg-gold-h:hover{background-color:#d89614!important}.bg-gold-dark-h:hover{background-color:#e8b339!important}.text-gold-light{color:#aa7714!important}.text-gold{color:#d89614!important}.text-gold-dark{color:#e8b339!important}.bg-yellow-light{background-color:#aa9514!important}.bg-yellow{background-color:#d8bd14!important}.bg-yellow-dark{background-color:#e8d639!important}.bg-yellow-light-h:hover{background-color:#aa9514!important}.bg-yellow-h:hover{background-color:#d8bd14!important}.bg-yellow-dark-h:hover{background-color:#e8d639!important}.text-yellow-light{color:#aa9514!important}.text-yellow{color:#d8bd14!important}.text-yellow-dark{color:#e8d639!important}.bg-lime-light{background-color:#6f9412!important}.bg-lime{background-color:#8bbb11!important}.bg-lime-dark{background-color:#a9d134!important}.bg-lime-light-h:hover{background-color:#6f9412!important}.bg-lime-h:hover{background-color:#8bbb11!important}.bg-lime-dark-h:hover{background-color:#a9d134!important}.text-lime-light{color:#6f9412!important}.text-lime{color:#8bbb11!important}.text-lime-dark{color:#a9d134!important}.bg-green-light{background-color:#3c8618!important}.bg-green{background-color:#49aa19!important}.bg-green-dark{background-color:#6abe39!important}.bg-green-light-h:hover{background-color:#3c8618!important}.bg-green-h:hover{background-color:#49aa19!important}.bg-green-dark-h:hover{background-color:#6abe39!important}.text-green-light{color:#3c8618!important}.text-green{color:#49aa19!important}.text-green-dark{color:#6abe39!important}.bg-cyan-light{background-color:#138585!important}.bg-cyan{background-color:#13a8a8!important}.bg-cyan-dark{background-color:#33bcb7!important}.bg-cyan-light-h:hover{background-color:#138585!important}.bg-cyan-h:hover{background-color:#13a8a8!important}.bg-cyan-dark-h:hover{background-color:#33bcb7!important}.text-cyan-light{color:#138585!important}.text-cyan{color:#13a8a8!important}.text-cyan-dark{color:#33bcb7!important}.bg-blue-light{background-color:#1765ad!important}.bg-blue{background-color:#177ddc!important}.bg-blue-dark{background-color:#3c9ae8!important}.bg-blue-light-h:hover{background-color:#1765ad!important}.bg-blue-h:hover{background-color:#177ddc!important}.bg-blue-dark-h:hover{background-color:#3c9ae8!important}.text-blue-light{color:#1765ad!important}.text-blue{color:#177ddc!important}.text-blue-dark{color:#3c9ae8!important}.bg-geekblue-light{background-color:#263ea0!important}.bg-geekblue{background-color:#2b4acb!important}.bg-geekblue-dark{background-color:#5273e0!important}.bg-geekblue-light-h:hover{background-color:#263ea0!important}.bg-geekblue-h:hover{background-color:#2b4acb!important}.bg-geekblue-dark-h:hover{background-color:#5273e0!important}.text-geekblue-light{color:#263ea0!important}.text-geekblue{color:#2b4acb!important}.text-geekblue-dark{color:#5273e0!important}.bg-purple-light{background-color:#51258f!important}.bg-purple{background-color:#642ab5!important}.bg-purple-dark{background-color:#854eca!important}.bg-purple-light-h:hover{background-color:#51258f!important}.bg-purple-h:hover{background-color:#642ab5!important}.bg-purple-dark-h:hover{background-color:#854eca!important}.text-purple-light{color:#51258f!important}.text-purple{color:#642ab5!important}.text-purple-dark{color:#854eca!important}.bg-magenta-light{background-color:#a02669!important}.bg-magenta{background-color:#cb2b83!important}.bg-magenta-dark{background-color:#e0529c!important}.bg-magenta-light-h:hover{background-color:#a02669!important}.bg-magenta-h:hover{background-color:#cb2b83!important}.bg-magenta-dark-h:hover{background-color:#e0529c!important}.text-magenta-light{color:#a02669!important}.text-magenta{color:#cb2b83!important}.text-magenta-dark{color:#e0529c!important}.bg-grey-light{background-color:#d9d9d9!important}.bg-grey{background-color:#bfbfbf!important}.bg-grey-dark{background-color:#8c8c8c!important}.bg-grey-light-h:hover{background-color:#d9d9d9!important}.bg-grey-h:hover{background-color:#bfbfbf!important}.bg-grey-dark-h:hover{background-color:#8c8c8c!important}.text-grey-light{color:#d9d9d9!important}.text-grey{color:#bfbfbf!important}.text-grey-dark{color:#8c8c8c!important}.bg-primary-light{background-color:#3c9be8!important}.bg-primary{background-color:#177ddc!important}.bg-primary-dark{background-color:#095cb5!important}.bg-primary-h:hover{background-color:#177ddc!important}.text-primary-light{color:#3c9be8!important}.text-primary{color:#177ddc!important}.text-primary-dark{color:#095cb5!important}.bg-success-light{background-color:#67b839!important}.bg-success{background-color:#49aa19!important}.bg-success-dark{background-color:#31850d!important}.bg-success-h:hover{background-color:#49aa19!important}.text-success-light{color:#67b839!important}.text-success{color:#49aa19!important}.text-success-dark{color:#31850d!important}.bg-error-light{background-color:#b33b3d!important}.bg-error{background-color:#a61d24!important}.bg-error-dark{background-color:#800f19!important}.bg-error-h:hover{background-color:#a61d24!important}.text-error-light{color:#b33b3d!important}.text-error{color:#a61d24!important}.text-error-dark{color:#800f19!important}.bg-warning-light{background-color:#e6b239!important}.bg-warning{background-color:#d89614!important}.bg-warning-dark{background-color:#b37407!important}.bg-warning-h:hover{background-color:#d89614!important}.text-warning-light{color:#e6b239!important}.text-warning{color:#d89614!important}.text-warning-dark{color:#b37407!important}.bg-info-light{background-color:#3c9be8!important}.bg-info{background-color:#177ddc!important}.bg-info-dark{background-color:#095cb5!important}.bg-info-h:hover{background-color:#177ddc!important}.text-info-light{color:#3c9be8!important}.text-info{color:#177ddc!important}.text-info-dark{color:#095cb5!important}.bg-processing-light{background-color:#3c9be8!important}.bg-processing{background-color:#177ddc!important}.bg-processing-dark{background-color:#095cb5!important}.bg-processing-h:hover{background-color:#177ddc!important}.text-processing-light{color:#3c9be8!important}.text-processing{color:#177ddc!important}.text-processing-dark{color:#095cb5!important}.bg-highlight-light{background-color:#b33b3d!important}.bg-highlight{background-color:#a61d24!important}.bg-highlight-dark{background-color:#800f19!important}.bg-highlight-h:hover{background-color:#a61d24!important}.text-highlight-light{color:#b33b3d!important}.text-highlight{color:#a61d24!important}.text-highlight-dark{color:#800f19!important}.bg-normal-light{background-color:#e6d8d8!important}.bg-normal{background-color:#d9d9d9!important}.bg-normal-dark{background-color:#b3a8a8!important}.bg-normal-h:hover{background-color:#d9d9d9!important}.bg-grey-lighter,.bg-grey-lighter-h:hover{background-color:#0f0f0f!important}.text-normal-light{color:#e6d8d8!important}.text-normal{color:#d9d9d9!important}.text-normal-dark{color:#b3a8a8!important}.bg-grey-darker,.bg-grey-darker-h:hover{background-color:#0a0a0a!important}.text-grey-lighter{color:#0f0f0f!important}.text-grey-darker{color:#0a0a0a!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-center,.flex-center-between{display:flex!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center,.flex-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.flex-1{flex:1!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-center-between{align-items:center!important;justify-content:space-between!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.icon-sm{font-size:28px!important}.icon-md{font-size:56px!important}.icon-lg{font-size:84px!important}.icon-xl{font-size:112px!important}.icon-xxl{font-size:140px!important}.img-fluid{max-width:100%;height:auto}.point{cursor:pointer}.no-resize{min-width:100%;max-width:100%;resize:none}.no-data{color:rgba(0,0,0,.25);font-size:16px;line-height:64px;text-align:center}.no-data i{position:relative;top:3px;margin-right:16px;font-size:24px}.block-center{margin:0 auto}.mr0,.mx0{margin-right:0!important}.ml0,.mx0{margin-left:0!important}.mt0,.my0{margin-top:0!important}.mb0,.my0{margin-bottom:0!important}.bg-center{background-position:center center;background-size:cover}.page-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;padding-top:200px;text-align:center;background:rgba(255,255,255,.08)}.fixed-bottom,.fixed-top{z-index:9;left:0;right:0}.pt0,.py0{padding-top:0!important}.color-weak{display:block;filter:invert(80%)}.disabled{color:rgba(255,255,255,.3);pointer-events:none}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{position:fixed;top:0}.fixed-bottom{position:fixed;bottom:0}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}@media (max-width:575px){.hidden-xs{display:none!important}}@media (max-width:991px){.hidden-md{display:none!important}}@media (max-width:1199px){.hidden-lg{display:none!important}}@media (max-width:1599px){.hidden-xl{display:none!important}}@media (min-width:768px){.hidden-pc{display:none!important}}.m0{margin:0!important}.mr-xs,.mx-xs{margin-right:4px!important}.ml-xs,.mx-xs{margin-left:4px!important}.mt-xs,.my-xs{margin-top:4px!important}.mb-xs,.my-xs{margin-bottom:4px!important}.p0{padding:0!important}.pr-xs,.px-xs{padding-right:4px!important}.pl-xs,.px-xs{padding-left:4px!important}.pt-xs,.py-xs{padding-top:4px!important}.pb-xs,.py-xs{padding-bottom:4px!important}.m-xs{margin:4px!important}.mr-sm,.mx-sm{margin-right:8px!important}.ml-sm,.mx-sm{margin-left:8px!important}.mt-sm,.my-sm{margin-top:8px!important}.mb-sm,.my-sm{margin-bottom:8px!important}.p-xs{padding:4px!important}.pr-sm,.px-sm{padding-right:8px!important}.pl-sm,.px-sm,[dir=rtl] .pr-sm{padding-left:8px!important}.pt-sm,.py-sm{padding-top:8px!important}.pb-sm,.py-sm{padding-bottom:8px!important}.m-sm{margin:8px!important}.mr-md,.mx-md{margin-right:16px!important}.ml-md,.mx-md{margin-left:16px!important}.mt-md,.my-md{margin-top:16px!important}.mb-md,.my-md{margin-bottom:16px!important}.p-sm{padding:8px!important}.pr-md,.px-md{padding-right:16px!important}.pl-md,.px-md{padding-left:16px!important}.pt-md,.py-md{padding-top:16px!important}.pb-md,.py-md{padding-bottom:16px!important}.m-md{margin:16px!important}.mr-lg,.mx-lg{margin-right:24px!important}.ml-lg,.mx-lg{margin-left:24px!important}.mt-lg,.my-lg{margin-top:24px!important}.mb-lg,.my-lg{margin-bottom:24px!important}.p-md{padding:16px!important}.pr-lg,.px-lg{padding-right:24px!important}.pl-lg,.px-lg,[dir=rtl] .pr-lg{padding-left:24px!important}.pt-lg,.py-lg{padding-top:24px!important}.pb-lg,.py-lg{padding-bottom:24px!important}.m-lg{margin:24px!important}.mr-xl,.mx-xl{margin-right:32px!important}.ml-xl,.mx-xl{margin-left:32px!important}.mt-xl,.my-xl{margin-top:32px!important}.mb-xl,.my-xl{margin-bottom:32px!important}.p-lg{padding:24px!important}.pr-xl,.px-xl{padding-right:32px!important}.pl-xl,.px-xl{padding-left:32px!important}.pt-xl,.py-xl{padding-top:32px!important}.pb-xl,.py-xl{padding-bottom:32px!important}.m-xl{margin:32px!important}.mr-xxl,.mx-xxl{margin-right:48px!important}.ml-xxl,.mx-xxl{margin-left:48px!important}.mt-xxl,.my-xxl{margin-top:48px!important}.mb-xxl,.my-xxl{margin-bottom:48px!important}.p-xl{padding:32px!important}.pr-xxl,.px-xxl{padding-right:48px!important}.pl-xxl,.px-xxl,[dir=rtl] .pr-xxl{padding-left:48px!important}.pt-xxl,.py-xxl{padding-top:48px!important}.pb-xxl,.py-xxl{padding-bottom:48px!important}.m-xxl{margin:48px!important}.p-xxl{padding:48px!important}[dir=rtl] .mr0{margin-left:0!important;margin-right:inherit!important}[dir=rtl] .ml0{margin-right:0!important;margin-left:inherit!important}[dir=rtl] .pr0{padding-right:inherit!important}[dir=rtl] .pl0{padding-right:0!important;padding-left:inherit!important}[dir=rtl] .mr-xs{margin-left:4px!important;margin-right:inherit!important}[dir=rtl] .ml-xs{margin-right:4px!important;margin-left:inherit!important}[dir=rtl] .pr-xs{padding-left:4px!important;padding-right:inherit!important}[dir=rtl] .pl-xs{padding-right:4px!important;padding-left:inherit!important}[dir=rtl] .mr-sm{margin-left:8px!important;margin-right:inherit!important}[dir=rtl] .ml-sm{margin-right:8px!important;margin-left:inherit!important}[dir=rtl] .pr-sm{padding-right:inherit!important}[dir=rtl] .pl-sm{padding-right:8px!important;padding-left:inherit!important}[dir=rtl] .mr-md{margin-left:16px!important;margin-right:inherit!important}[dir=rtl] .ml-md{margin-right:16px!important;margin-left:inherit!important}[dir=rtl] .pr-md{padding-left:16px!important;padding-right:inherit!important}[dir=rtl] .pl-md{padding-right:16px!important;padding-left:inherit!important}[dir=rtl] .mr-lg{margin-left:24px!important;margin-right:inherit!important}[dir=rtl] .ml-lg{margin-right:24px!important;margin-left:inherit!important}[dir=rtl] .pr-lg{padding-right:inherit!important}[dir=rtl] .pl-lg{padding-right:24px!important;padding-left:inherit!important}[dir=rtl] .mr-xl{margin-left:32px!important;margin-right:inherit!important}[dir=rtl] .ml-xl{margin-right:32px!important;margin-left:inherit!important}[dir=rtl] .pr-xl{padding-left:32px!important;padding-right:inherit!important}[dir=rtl] .pl-xl{padding-right:32px!important;padding-left:inherit!important}[dir=rtl] .mr-xxl{margin-left:48px!important;margin-right:inherit!important}[dir=rtl] .ml-xxl{margin-right:48px!important;margin-left:inherit!important}[dir=rtl] .pr-xxl{padding-right:inherit!important}[dir=rtl] .pl-xxl{padding-right:48px!important;padding-left:inherit!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right,[dir=rtl] .text-left{text-align:right!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-nowrap{white-space:nowrap!important}.text-wrap{white-space:pre-wrap!important}.text-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.text-xs{font-size:12px!important}.text-sm{font-size:14px!important}.text-md{font-size:16px!important}.text-lg{font-size:18px!important}.text-xl{font-size:22px!important}.text-xxl{font-size:28px!important}[dir=rtl] .text-right{text-align:left!important}.width-xs{width:80px!important}.max-width-xs{max-width:80px!important}.min-width-xs{min-width:80px!important}.width-sm{width:160px!important}.max-width-sm{max-width:160px!important}.min-width-sm{min-width:160px!important}.width-md{width:240px!important}.max-width-md{max-width:240px!important}.min-width-md{min-width:240px!important}.width-lg{width:320px!important}.max-width-lg{max-width:320px!important}.min-width-lg{min-width:320px!important}.width-xl{width:400px!important}.max-width-xl{max-width:400px!important}.min-width-xl{min-width:400px!important}.width-xxl{width:480px!important}.max-width-xxl{max-width:480px!important}.min-width-xxl{min-width:480px!important}.width-10{width:10%!important}.max-width-10{max-width:10%!important}.min-width-10{min-width:10%!important}.width-20{width:20%!important}.max-width-20{max-width:20%!important}.min-width-20{min-width:20%!important}.width-30{width:30%!important}.max-width-30{max-width:30%!important}.min-width-30{min-width:30%!important}.width-40{width:40%!important}.max-width-40{max-width:40%!important}.min-width-40{min-width:40%!important}.width-50{width:50%!important}.max-width-50{max-width:50%!important}.min-width-50{min-width:50%!important}.width-60{width:60%!important}.max-width-60{max-width:60%!important}.min-width-60{min-width:60%!important}.width-70{width:70%!important}.max-width-70{max-width:70%!important}.min-width-70{min-width:70%!important}.width-80{width:80%!important}.max-width-80{max-width:80%!important}.min-width-80{min-width:80%!important}.width-90{width:90%!important}.max-width-90{max-width:90%!important}.min-width-90{min-width:90%!important}.width-100{width:100%!important}.max-width-100{max-width:100%!important}.min-width-100{min-width:100%!important}@media (max-width:767px){.hidden-mobile,.hidden-sm{display:none!important}.max-width-sm,.min-width-sm,.width-sm{width:100%!important}}.scrollbar{overflow:auto}.scrollbar-x{overflow-x:auto;overflow-y:hidden}.scrollbar-y{overflow-x:hidden;overflow-y:auto}.ant-anchor-wrapper,.ant-dialog-wrap,.ant-drawer-body,.ant-drawer-wrapper-body,.scrollbar,body,textarea.ant-input{scrollbar-color:rgba(0,0,0,.3) #6e6e6e;scrollbar-width:thin}.ant-anchor-wrapper::-webkit-scrollbar,.ant-dialog-wrap::-webkit-scrollbar,.ant-drawer-body::-webkit-scrollbar,.ant-drawer-wrapper-body::-webkit-scrollbar,.scrollbar::-webkit-scrollbar,body::-webkit-scrollbar,textarea.ant-input::-webkit-scrollbar{width:6px;height:6px}.ant-anchor-wrapper::-webkit-scrollbar-track,.ant-dialog-wrap::-webkit-scrollbar-track,.ant-drawer-body::-webkit-scrollbar-track,.ant-drawer-wrapper-body::-webkit-scrollbar-track,.scrollbar::-webkit-scrollbar-track,body::-webkit-scrollbar-track,textarea.ant-input::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.ant-anchor-wrapper::-webkit-scrollbar-thumb,.ant-dialog-wrap::-webkit-scrollbar-thumb,.ant-drawer-body::-webkit-scrollbar-thumb,.ant-drawer-wrapper-body::-webkit-scrollbar-thumb,.scrollbar::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,textarea.ant-input::-webkit-scrollbar-thumb{background-color:#6e6e6e;outline:#333 solid 1px}.st{display:block}.st__p-left .ant-table-pagination{display:block;float:none;text-align:left}.st__p-center .ant-table-pagination{display:block;float:none;text-align:center}.st__btn-sub .st__btn-text{color:inherit}.st__btn-disabled .st__btn-text{color:rgba(179,179,179,.85);pointer-events:none}.st .nz-resizable-handle{display:flex;align-items:center;justify-content:center}.st .nz-resizable-handle>i{width:1px;height:60%;background:#434343}.st .nz-resizable-preview{border-width:0 1px 0 0}.st .nz-resizable.ant-table-column-has-sorters .nz-resizable-handle{margin-right:8px}.st .ant-table~nz-pagination>.ant-pagination{margin-bottom:0}.st__filter-keyword{padding:8px}.st .ant-table-column-title{display:flex;align-items:center}.st__head-optional,.st__head-tip{margin-left:2px;color:rgba(128,128,128,.85)}.st .ant-table-thead>tr>th .ant-table-filter-selected.ant-table-filter-icon{color:#177ddc}.st__checkall-selection{display:inline-block;margin-left:4px}.sv,.sv__container{display:block}.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table{margin:0}.st .ant-table-cell-fix-left-first::after,.st .ant-table-cell-fix-left-last::after{transform:translateX(80%)}.st .ant-table-cell-fix-right-first::after,.st .ant-table-cell-fix-right-last::after{transform:translateX(-80%)}@media screen and (min-width:768px){.st__width-strict .ant-table-body>table,.st__width-strict .ant-table-content>table{word-wrap:break-word!important;table-layout:fixed!important}}.sv+.sv{margin-top:16px}.sv__container .ant-row{margin-bottom:-16px;overflow:hidden}.sv__item-fixed{display:flex}.sv__item-fixed .sv__label{flex:0 0 auto;overflow:hidden;text-align:right;text-overflow:ellipsis}.sv__item-fixed .sv__detail{flex:1 0 0}.sv__item+.ant-divider{margin:0 0 16px}.sv__title{display:block;float:none;clear:both;width:100%;margin-bottom:16px;color:rgba(255,255,255,.85);font-weight:500;font-size:14px}.sv__detail,.sv__label{display:table-cell;padding-bottom:16px;line-height:22px}.sv__label{color:rgba(179,179,179,.85);white-space:nowrap}.sv__label:not(.sv__label-empty)::after{position:relative;top:-.5px;margin:0 8px 0 2px;content:':'}.sv__label-optional{margin-left:2px;color:rgba(128,128,128,.85)}.sv__label-optional-no-text{margin-left:0}.sv__label-optional>.anticon{margin-left:2px}.sv__detail{width:100%;color:rgba(255,255,255,.85);word-break:break-all}.se__line,.sv__small .sv__detail,.sv__small .sv__label,.sv__vertical .sv__label{padding-bottom:8px}.sv__type-primary .sv__detail{color:#177ddc}.sv__type-success .sv__detail{color:#49aa19}.sv__type-danger .sv__detail{color:#a61d24}.sv__type-warning .sv__detail{color:#d89614}.sv__default::before{content:-}.sv__default~.sv__unit{display:none!important}.sv__unit{display:inline;margin-left:8px;color:#8c8c8c}.sv__small .ant-row{margin-bottom:-8px}.sv__small .sv__title{margin-bottom:12px;color:rgba(255,255,255,.85)}.sv__value{display:inline-flex;align-items:center}.sv__value-prefix,.sv__value-unit{color:rgba(179,179,179,.85);font-size:12px;font-style:normal}.sv__value-prefix{padding-right:3px}.sv__value-text{font-size:18px}.sv__value-unit{padding-left:3px}.sv__value:not(:first-child){position:relative;margin-left:8px;padding-left:14px}.sv__value:not(:first-child)::before{position:absolute;left:0;width:6px;color:rgba(179,179,179,.85);content:/}.sv__value-small .sv__value-text{font-size:14px}.sv__value-large .sv__value-text{font-size:24px}.sv__large .sv__title{font-size:16px}.sv__horizontal .sv__label-width{display:flex;justify-content:flex-end}.se__title,.sv__vertical .sv__detail,.sv__vertical .sv__label{display:block}.sv__horizontal .sv__label-width .sv__label-text{overflow:hidden;text-overflow:ellipsis}.sv__no-colon::after{content:' '!important}.se__title{float:none;clear:both;width:100%;color:rgba(255,255,255,.85);font-weight:700;font-size:14px;line-height:1.5715}.se__item:last-child{margin-bottom:0;padding-bottom:0}.se__item-empty::before{display:inline-block;content:''}.se__item+.ant-divider{margin:0 0 24px}.se__label{display:table-cell;flex:0 0 auto;width:initial;white-space:nowrap;text-align:right}.se__label-optional{margin-left:2px;color:rgba(128,128,128,.85)}.se__label-optional-no-text{margin-left:0}.se__label-optional>.anticon{margin-left:2px}.se__control{flex:1 0 0;width:100%}.se__compact>.se__item,.se__compact>.se__title{margin-bottom:8px}.se__compact>.se__item+.ant-divider,.se__compact>.se__title+.ant-divider{margin:0 0 8px}.se__compact .ant-form-item-extra{display:none}.se__line{border-bottom:1px dashed #303030}.se__hide-label .se__nolabel,.se__inline .se__nolabel,.se__vertical .se__nolabel{display:none!important}.se__horizontal>.se__item{display:flex}.se__horizontal>.se__item:last-child{margin-bottom:0}.se__horizontal>.se__item .se__label{display:flex;justify-content:flex-end}.se__horizontal>.se__item .se__label-text{overflow:hidden;text-overflow:ellipsis}.se__horizontal>.se__item .ant-form-item-required::before{line-height:inherit}.se__horizontal>.se__item .ant-form-item-label>label::after{margin-left:4px}.se__vertical>.se__item{display:block;width:100%}.se__inline .ant-form-item-label,.se__inline .se__control{display:inline-block;width:initial!important;text-align:left;vertical-align:top}.se__inline>.se__item{margin-right:16px}.se__inline>.se__item[col='1']{flex-basis:auto;width:100%}.se__inline>.se__item:last-child{margin-right:0}.se__no-colon::after{content:' '!important}@media (max-width:767px){.se__horizontal>.se__item{display:block}.se__horizontal>.se__item .ant-form-item-label{width:100%!important;text-align:left}.se__horizontal>.se__item .se__label{justify-content:normal}.se__horizontal .se__control,.se__horizontal .se__label,.se__vertical .se__control,.se__vertical .se__label{width:100%!important}}.avatar-list,.avatar-list__item,.avatar-list__wrap{display:inline-block}.avatar-list__wrap{margin-left:8px;padding:0;font-size:0}.avatar-list__item{width:32px;height:32px;margin-left:-8px;font-size:14px}.avatar-list__item .ant-avatar{border:1px solid #fff;cursor:pointer}.avatar-list__large{width:40px;height:40px}.avatar-list__small{width:24px;height:24px}.avatar-list__mini{width:20px;height:20px}.avatar-list__mini .ant-avatar{width:20px;height:20px;line-height:20px}.avatar-list__mini .ant-avatar-string{font-size:12px;line-height:18px}ellipsis{display:inline}.ellipsis{display:inline-block;width:100%;overflow:hidden;word-break:break-all}.ellipsis__lines{position:relative}.ellipsis__line-clamp{position:relative;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.ellipsis__shadow{position:absolute;z-index:-999;display:block;color:transparent;opacity:0}.error-collect{padding-right:24px;color:#f5222d;cursor:pointer}.error-collect__count{padding-left:8px}.error-collect-rtl{padding-right:0;padding-left:24px}.error-collect-rtl .error-collect__count{padding-right:8px;padding-left:0}.exception{display:flex;align-items:center;height:100%}.exception__img-block{flex:0 0 62.5%;width:62.5%;padding-right:152px;zoom:1}.exception__img-block::after,.exception__img-block::before{display:table;content:' '}.exception__img-block::after{clear:both;height:0;font-size:0}.exception__img{float:right;width:100%;max-width:430px;height:360px;background-repeat:no-repeat;background-position:50% 50%;background-size:100% 100%}.exception__cont{flex:auto}.exception__cont-title{margin-bottom:24px;color:#434e59;font-weight:600;font-size:72px;line-height:72px}.exception__cont-desc{margin-bottom:16px;color:rgba(255,255,255,.45);font-size:20px;line-height:28px}.exception__cont-actions .ant-btn:not(:last-child){margin-right:8px}@media screen and (max-width:1200px){.exception__img-block{padding-right:88px}}@media screen and (max-width:576px){.exception{display:block;text-align:center}.exception__img-block{margin:0 auto 24px;padding-right:0}}@media screen and (max-width:480px){.exception__img-block{margin-bottom:-24px;overflow:hidden}}.exception-rtl .exception__cont-actions .ant-btn:not(:last-child){margin-right:0}.footer-toolbar{position:fixed;right:0;bottom:0;display:flex;height:56px;padding:0 24px;line-height:56px;background:#1f1f1f;border-top:1px solid #303030;box-shadow:0 -6px 16px -8px rgba(0,0,0,.32),0 -9px 28px 0 rgba(0,0,0,.2),0 -12px 48px 16px rgba(0,0,0,.12);transition:all .3s}.alain-pro__header,.alain-pro__top-nav,.quick-menu,.quick-menu__ctrl{box-shadow:0 6px 16px -8px rgba(0,0,0,.32),0 9px 28px 0 rgba(0,0,0,.2),0 12px 48px 16px rgba(0,0,0,.12)}.footer-toolbar__left{flex:1}.full-content{display:block;height:100%;overflow:auto}.full-content__body{overflow:hidden}.global-footer{display:block;margin:48px 0 24px;padding:0 16px;text-align:center}.global-footer__links{margin-bottom:8px}.global-footer__links-item{display:inline-block;color:rgba(255,255,255,.45);transition:all .3s}.global-footer__links-item:not(:last-child){margin-right:40px}.global-footer__links-item:hover{color:rgba(255,255,255,.85)}.global-footer__copyright{color:rgba(255,255,255,.45);font-size:14px}.global-footer-rtl .global-footer__links-item:not(:last-child){margin-right:inherit;margin-left:40px}.notice-icon{width:336px}.notice-icon__btn{display:inline-block;cursor:pointer;transition:all .3s}.notice-icon .ant-popover-inner-content{padding:0}.notice-icon .ant-tabs-bar{margin-bottom:4px}.notice-icon .ant-tabs-nav .ant-tabs-tab{margin-right:32px;padding:12px 16px}.notice-icon .ant-tabs-nav .ant-tabs-tab:last-child{margin-right:0}.notice-icon .ant-tabs-nav-scroll{text-align:center}.notice-icon .ant-list{max-height:400px;overflow:auto}.notice-icon .ant-list-item{padding-right:24px;padding-left:24px;overflow:hidden;cursor:pointer;transition:all .3s}.notice-icon .ant-list-item:last-child{border-bottom:0}.page-header,.page-header .ant-tabs-bar,.reuse-tab__line{border-bottom:1px solid #303030}.notice-icon .ant-list-item:hover{background:#111b26}.notice-icon .ant-list-item-meta{width:100%}.notice-icon .ant-list-item-meta-title{margin-bottom:8px;font-weight:400}.notice-icon .ant-list-item .ant-avatar{margin-top:4px;background:#fff}.notice-icon__notfound{padding:73px 0 88px;color:rgba(255,255,255,.45);text-align:center}.notice-icon__clear,.notice-icon__clear:hover{color:rgba(255,255,255,.85)}.notice-icon__notfound-img{display:inline-block;height:76px;margin-bottom:16px}.notice-icon__clear{height:46px;line-height:46px;text-align:center;border-top:1px solid #303030;border-radius:0 0 2px 2px;cursor:pointer;transition:all .3s}.notice-icon__item-desc,.notice-icon__item-time{font-size:12px;line-height:1.5715}.notice-icon__item .ant-badge-count{top:-10px}.notice-icon__item-read{opacity:.4}.notice-icon__item-time{margin-top:4px}.notice-icon__item-extra{float:right;margin-top:-1.5px;margin-right:0;color:rgba(255,255,255,.45);font-weight:400}.page-header{display:block;padding:16px 32px 0;background-color:#141414}.page-header__wide{max-width:1200px;margin:auto}.page-header .ant-breadcrumb{margin-bottom:16px}.page-header .ant-tabs{margin:0 0 -17px}.page-header__detail{display:flex}.page-header__row{display:flex;width:100%}.page-header__logo{flex:0 1 auto;margin-right:16px;padding-top:1px}.page-header__logo img{display:block;width:28px;height:28px;border-radius:2px}.page-header__title{color:rgba(255,255,255,.85);font-weight:500;font-size:20px}.page-header__title small{padding-left:8px;font-weight:400;font-size:14px}.page-header__action{min-width:266px;margin-left:56px}.page-header__desc,.page-header__title{flex:auto}.page-header__action,.page-header__extra,.page-header__main{flex:0 1 auto}.page-header__main{width:100%}.page-header__action,.page-header__desc,.page-header__extra,.page-header__logo,.page-header__title{margin-bottom:16px}.page-header__action,.page-header__extra{text-align:right}.page-header__extra{min-width:242px;margin-left:88px}@media screen and (max-width:1200px){.page-header__extra{margin-left:44px}}@media screen and (max-width:992px){.page-header__extra{margin-left:20px}}@media screen and (max-width:768px){.page-header__row{display:block}.page-header__action,.page-header__extra{margin-left:0;text-align:left}}@media screen and (max-width:576px){.page-header__detail{display:block}}@media screen and (max-width:480px){.page-header__action .ant-btn,.page-header__action .ant-btn-group{display:block;margin-bottom:8px}.page-header__action .ant-input-search-enter-button .ant-btn{margin-bottom:0}.page-header__action .ant-btn-group>.ant-btn{display:inline-block;margin-bottom:0}}.page-header-rtl .page-header__logo{margin-right:0;margin-left:16px}.page-header-rtl .page-header__title small{padding-right:8px;padding-left:0}.page-header-rtl .page-header__action{margin-right:56px;margin-left:0}.page-header-rtl .page-header__extra{margin-right:88px;margin-left:0}@media screen and (max-width:1200px){.page-header-rtl .page-header__extra{margin-right:44px;margin-left:0}}@media screen and (max-width:992px){.page-header-rtl .page-header__extra{margin-right:20px;margin-left:0}}.quick-menu{position:fixed;right:-1px;left:auto;z-index:11;display:block;backface-visibility:hidden;transition:margin .3s cubic-bezier(1,0,0,1)}.quick-menu,.quick-menu__ctrl{background-color:#1f1f1f;border:1px solid #303030}.quick-menu__inner{position:relative;padding:0 12px}.quick-menu__ctrl{position:absolute;top:-1px;left:-50px;width:50px;height:50px;text-align:center;border-right:0;border-radius:3px 0 0 3px;cursor:pointer}.quick-menu__ctrl-icon{font-size:20px;line-height:49px}.result{display:block;width:72%;margin:0 auto;text-align:center}.result__icon{margin-bottom:24px;font-size:72px;line-height:72px}.result__icon-success{color:#49aa19}.result__icon-error{color:#a61d24}.result__title{margin-bottom:16px;color:rgba(255,255,255,.85);font-weight:500;font-size:24px;line-height:32px}.result__desc{margin-bottom:24px;color:rgba(255,255,255,.45);font-size:14px;line-height:22px}.result__extra{padding:24px 40px;text-align:left;border-radius:2px}@media screen and (max-width:480px){.result{width:100%}.result__extra{padding:18px 20px}}.result__actions{margin-top:32px}.result__actions button:not(:last-child){margin-right:8px}.reuse-tab{display:block;background-color:#141414;outline:0;user-select:none}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{position:absolute;display:none;margin:0;color:rgba(255,255,255,.85);font-size:10px}.reuse-tab .ant-tabs-nav .ant-tabs-tab:hover .reuse-tab__op{display:block}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__name-width{display:inline-block;overflow:hidden;text-overflow:ellipsis}.reuse-tab .ant-tabs>.ant-tabs-nav{margin:0}.reuse-tab__line{padding:8px}.reuse-tab__line .ant-tabs-nav::before{border-bottom:none}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab{padding:0}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:12px;right:2px}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__name{display:inline-block;padding:8px 20px}.reuse-tab__card{padding-top:8px}.reuse-tab__card .ant-tabs-nav-container{padding:0 8px}.reuse-tab__card .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:4px;right:4px}.reuse-tab__disabled{opacity:.8;pointer-events:none}.reuse-tab__cm .ant-menu{border:1px solid #e9e9e9}.tag-select{position:relative;display:block;max-height:24px;margin-left:-8px;overflow:hidden;line-height:1.5715;transition:all .3s;user-select:none}.tag-select__expanded{max-height:200px;transition:all .3s}.tag-select__has-expand{padding-right:50px}.tag-select .ant-tag{margin-right:24px;padding:0 8px}.tag-select__trigger{position:absolute;top:0;right:0}.loading-default,.onboarding__mask{position:fixed;left:0;bottom:0;top:0}.tag-select__trigger-icon{margin-left:8px;font-size:12px}.tag-select-rtl{margin-right:-8px;margin-left:0}.tag-select-rtl__has-expand{padding-right:0!important;padding-left:50px!important}.tag-select-rtl .tag-select .ant-tag{margin-right:0;margin-left:24px}.tag-select-rtl .tag-select__trigger{right:initial;left:0}.tag-select-rtl .tag-select__trigger-icon{margin-right:0;margin-left:8px}.loading-backdrop{z-index:9999;background-color:rgba(0,0,0,.15)}.loading-default{right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center}.g2-mini-progress,.g2-pie,.pdf-container,g2,g2-bar,g2-chart,g2-custom,g2-gauge,g2-mini-area,g2-mini-bar,g2-single-bar,g2-tag-cloud,g2-timeline{display:block}.loading-default__icon{margin-bottom:8px;color:#177ddc;font-size:24px}.loading-default__text{color:#177ddc}.loading-default__custom{width:64px;height:64px;fill:#fff}.onboarding+.cdk-overlay-container{z-index:99999}.onboarding__mask{right:0;z-index:99998;background-color:#000;opacity:.5}.onboarding__item{position:absolute}.onboarding__light{position:absolute;z-index:99999;background-color:#141414;animation:2.5s cubic-bezier(.55,.05,.6,.2) 0s infinite normal none running onboardingAnt;pointer-events:none}.g2-card,.g2-card__top,.pdf-container{position:relative}.onboarding__light-el{z-index:100000!important}.onboarding__light-ant{transition:all .3s ease-out}.onboarding__footer{margin-top:8px}.onboarding__total{color:rgba(255,255,255,.85)}.g2-card__meta,.g2-pie__legend-percent,.g2-pie__total-title{color:rgba(255,255,255,.45)}@keyframes onboardingAnt{0%,33%{box-shadow:#141414 0 0 0 2px,#141414 0 0 0}100%,66%{box-shadow:#141414 0 0 0 2px,rgba(20,20,20,.01) 0 0 0 10px}}.pdf-container{height:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}g2-bar,g2-tag-cloud{width:100%}.g2-card__top{width:100%;overflow:hidden}.g2-card__top-margin{margin-bottom:12px}.g2-card__top-has-margin{margin-bottom:20px}.g2-card__meta{height:22px;font-size:14px;line-height:22px}.g2-card__total,.g2-pie__legend-title{color:rgba(255,255,255,.85)}.g2-card__meta-wrap{float:left}.g2-card__meta-action{position:absolute;top:4px;right:0;line-height:1;cursor:pointer}.g2-card__avatar{position:relative;top:4px;float:left;margin-right:20px}.g2-card__total{height:38px;margin-top:4px;margin-bottom:0;overflow:hidden;font-size:30px;line-height:38px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.g2-card__desc{width:100%;margin-bottom:12px}.g2-card__footer{margin-top:8px;padding-top:9px;border-top:1px solid #303030}.g2-card__footer>*{position:relative}.g2-mini-progress{position:relative;width:100%;padding:5px 0}.g2-mini-progress__wrap{position:relative}.g2-mini-progress__value{width:0;height:100%;background-color:#177ddc;border-radius:1px 0 0 1px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.g2-mini-progress__target{position:absolute;top:0;bottom:0}.g2-mini-progress__target-item{position:absolute;top:0;left:0;width:2px;height:4px;border-radius:100px}.g2-pie,.g2-pie__chart{position:relative}.g2-mini-progress__target-item:last-child{top:auto;bottom:0}.g2-pie__legend{position:absolute;top:50%;right:0;min-width:250px;margin:0 20px;padding:0;list-style:none;transform:translateY(-50%)}.g2-pie__legend-item{height:22px;margin-bottom:16px;line-height:22px;cursor:pointer}.g2-pie__legend-item:last-child{margin-bottom:0}.g2-pie__legend-dot{position:relative;top:-1px;display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:8px}.g2-pie__legend-value{position:absolute;right:0}.g2-pie__legend-has .g2-pie__chart{width:calc(100% - 240px)}.g2-pie__legend-block .g2-pie__chart{width:100%;margin:0 0 32px}.g2-pie__legend-block .g2-pie__legend{position:relative;min-width:auto;transform:none}.g2-pie__total{position:absolute;top:50%;left:50%;height:62px;text-align:center;transform:translate(-50%,-50%)}.g2-pie__total-title{height:22px;margin-bottom:8px;font-weight:400;font-size:14px;line-height:22px}.g2-pie__total-stat{display:block;height:32px;color:rgba(255,255,255,.85);font-size:1.2em;line-height:32px;white-space:nowrap}.g2-pie__mini .g2-pie__total-title{margin-top:4px;margin-bottom:0}.g2-radar{display:block}.g2-radar__legend{margin-top:16px}.g2-radar__legend-item{position:relative;color:rgba(255,255,255,.45);line-height:22px;text-align:center;cursor:pointer}.g2-radar__legend-item::after{position:absolute;top:8px;right:0;width:1px;height:40px;background-color:#303030;content:''}.g2-radar__legend-item:last-child::after{display:none}.g2-radar__legend-dot,.g2-water-wave,.number-info,.number-info__value-text,.trend{display:inline-block}.g2-radar__legend-title{margin-top:4px;margin-bottom:0;padding-left:16px;color:rgba(255,255,255,.85);font-size:24px;line-height:32px}.g2-radar__legend-dot{position:relative;top:-1px;width:6px;height:6px;margin-right:6px;border-radius:6px}.g2-water-wave{position:relative;transform-origin:left}.g2-water-wave__desc{position:absolute;top:32px;left:0;width:100%;text-align:center}.g2-water-wave__desc-title{color:rgba(255,255,255,.45);font-size:14px;line-height:22px}.g2-water-wave__desc-percent{color:rgba(255,255,255,.85);font-size:24px;line-height:32px}.g2-water-wave__canvas{transform:scale(.5);transform-origin:0 0}.number-info__title{margin-bottom:16px;color:rgba(255,255,255,.85);font-size:16px;transition:all .3s}.number-info__title-sub{height:22px;overflow:hidden;color:rgba(255,255,255,.45);font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value{margin-top:4px;overflow:hidden;font-size:0;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value-suffix{margin-left:4px;color:rgba(255,255,255,.85);font-size:16px;font-style:normal}.number-info__value-text{height:32px;color:rgba(255,255,255,.85);font-size:24px;line-height:32px}.number-info__value-sub{margin-left:32px;color:rgba(255,255,255,.45);font-size:16px;vertical-align:top}.number-info__value-sub .anticon{margin-left:4px;font-size:12px;transform:scale(.82)}.number-info__value-sub .anticon-caret-up{color:#d32029}.number-info__value-sub .anticon-caret-down{color:#49aa19}.number-info__light .number-info__value-text{color:rgba(255,255,255,.85)}.number-info:not(:first-child){position:relative;margin-left:32px;padding-left:32px}.number-info:not(:first-child)::after{position:absolute;top:0;bottom:0;left:0;width:1px;margin:8px 0;background-color:#303030;content:''}.trend{font-size:14px;line-height:22px}.trend__down,.trend__up{position:relative;top:1px;margin-left:4px}.trend__down i,.trend__up i{font-size:12px;transform:scale(.83)}.trend__up{color:#d32029}.trend__down{top:-1px;color:#49aa19}.trend__grey .trend__down,.trend__grey .trend__up{color:rgba(255,255,255,.85)}.trend__reverse .trend__up{color:#49aa19}.trend__reverse .trend__down{color:#d32029}.alain-pro__menu{display:block}.alain-pro__menu-item--disabled{pointer-events:none}.alain-pro__menu-only-icon .alain-pro__menu-item{padding-right:8px!important;padding-left:8px!important}.alain-pro__menu-only-icon .alain-pro__menu-item:first-child{padding-left:0}.alain-pro__menu-only-icon .alain-pro__menu-icon{margin-right:0;font-size:16px}.alain-pro__menu-title{position:relative}.alain-pro__menu-title-badge{display:flex;justify-content:center;width:18px;height:18px;padding:0;font-size:12px;line-height:18px;background:#177ddc;border-radius:50%}.alain-pro__menu-title-badge>em{color:#fff;font-style:normal}.alain-pro__menu-img{width:14px!important;height:14px!important}.alain-pro__side-nav .alain-pro__menu-title{display:flex;align-items:center}.alain-pro__side-nav .alain-pro__menu-title-text{flex:1}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge{position:absolute;top:0;right:-16px;width:8px;height:8px}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge>em{display:none}.alain-pro__main{min-height:100vh;background-color:#000}.alain-pro__main>.ant-layout-header{height:64px;line-height:64px}.alain-pro__page-header-wrapper{position:relative;display:block;margin:-24px -24px 0}.alain-pro__page-header-content{margin:24px 24px 0}.alain-pro__page-grid{display:block;width:100%;height:100%;min-height:100%;transition:.3s}.alain-pro__page-grid-wide{max-width:1200px;margin:0 auto}.alain-pro__page-grid-no-spacing{width:initial;margin:-24px -24px 0}.alain-pro__fetching-icon{display:none}.alain-pro__fetching .alain-pro__fetching-icon{display:block}@media screen and (max-width:767px){.alain-pro__page-header-content{margin:24px 10px 0}}.alain-pro__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 12px 0 0;background:#141414}.alain-pro__header-logo{padding:0 24px}.alain-pro__header-right{display:flex;align-items:center;justify-items:center}.alain-pro__header-item{position:relative;display:flex;align-items:center;justify-items:center;height:64px;padding:0 12px;line-height:64px;cursor:pointer;transition:all .3s}.alain-pro__header-item-icon,.alain-pro__header-item>i{font-size:16px!important;transform:none!important}.alain-pro__header-item,.alain-pro__header-item-icon{color:rgba(255,255,255,.85)}.alain-pro__header-item:hover{background:rgba(0,0,0,.025)}.alain-pro__header-item:hover,.alain-pro__header-item:hover .alain-pro__header-item-icon{color:#fff}.alain-pro__header-trigger{padding:0 24px}.alain-pro__header-trigger .alain-pro__header-item-icon{font-size:20px!important}.alain-pro__header-search:hover{background:0 0}.alain-pro__header-fixed{position:fixed;top:0;right:0;z-index:9;width:100%;transition:width .2s}.alain-pro__header-hide{opacity:0;transition:opacity .2s}@media only screen and (max-width:767px){.alain-pro__header-name{display:none}.alain-pro__header-trigger{padding:0 12px}.alain-pro__header-logo{position:relative;padding-right:12px;padding-left:12px}}layout-pro-header{z-index:1}[dir=rtl] .alain-pro__header-fixed{right:inherit;left:0}.alain-pro__top-nav{position:relative;width:100%;height:64px;padding:0 12px 0 0;transition:background .3s,width .2s}.alain-pro__top-nav .alain-pro__menu .ant-menu{display:flex;align-items:center;height:64px;border:none}.alain-pro__top-nav .alain-pro__menu-wrap{flex:1;padding-right:8px}.alain-pro__top-nav .alain-pro__menu-item{height:100%}.alain-pro__top-nav .alain-pro__menu-item .ant-menu-submenu-title{height:100%;padding:0 12px}.alain-pro__top-nav-main{display:flex;height:64px;padding-left:24px}.alain-pro__top-nav-main-wide{max-width:1200px;margin:auto;padding-left:4px}.alain-pro__top-nav-main-left{display:flex;flex:1}.alain-pro__top-nav-logo{width:165px}.alain-pro__top-nav-logo h1{margin:0 0 0 12px;color:#fff;font-size:16px}.alain-pro__top-nav .alain-pro__menu-title-badge{position:absolute;top:-16px;right:-16px}.alain-pro__sider,.alain-pro__sider-logo{position:relative;display:block;overflow:hidden}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item-icon{color:rgba(255,255,255,.65)}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover{background:#177ddc}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item-icon,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item-icon{color:#fff}.alain-pro__light .alain-pro__top-nav{background-color:#fff}.alain-pro__light .alain-pro__top-nav h1{color:#002140}[dir=rtl] .alain-pro__top-nav-logo h1{margin-right:12px;margin-left:0}.alain-pro__sider{z-index:10;min-height:100vh;box-shadow:2px 0 6px rgba(0,21,41,.35)}.alain-pro__sider-logo{height:64px;padding-left:24px;line-height:64px;background:#1f1f1f;transition:all .3s}.alain-pro__sider-logo img{display:inline-block;height:32px;vertical-align:middle}.alain-pro__sider-logo h1{display:inline-block;margin:0 0 0 12px;color:#fff;font-weight:600;font-size:20px;font-family:'Myriad Pro','Helvetica Neue',Arial,Helvetica,sans-serif;vertical-align:middle;transition:all .3s}.alain-pro__sider-fixed{position:fixed;top:0;left:0}.alain-pro__sider-fixed .alain-pro__side-nav-wrap{height:calc(100vh - 64px);padding-bottom:24px;overflow-y:scroll}.alain-pro__drawer .ant-drawer-wrapper-body{height:100%;overflow:auto}.alain-pro__drawer .ant-drawer-body{height:100vh;padding:0;overflow-x:hidden}.aside-collapsed .alain-pro__sider-logo{display:flex;justify-content:center;padding:0}.aside-collapsed .alain-pro__sider-logo h1{display:none}.alain-pro__light .alain-pro__sider{background-color:#fff;box-shadow:2px 0 8px 0 rgba(29,35,41,.05)}.alain-pro__light .alain-pro__sider-logo{background:#fff;box-shadow:1px 1px 0 0 #303030}.alain-pro__light .alain-pro__sider-logo h1{color:#177ddc}.alain-pro__light .alain-pro__sider .ant-menu-light{border-right-color:transparent}[dir=rtl] .alain-pro__sider-logo{padding-right:24px;padding-left:0}[dir=rtl] .alain-pro__sider-logo h1{margin-right:12px;margin-left:0}[dir=rtl] .alain-pro__sider-fixed{right:0;left:inherit}.alain-pro__footer,[dir=rtl] .aside-collapsed .alain-pro__sider-logo{padding:0}.ant-card{transition:none}.alain-pro__header-item .ant-badge-count{position:absolute;top:24px;right:12px}.full-content__hidden-title page-header,.full-content__opened .alain-pro__sider,.full-content__opened layout-pro-header,.full-content__opened reuse-tab{display:none!important}.footer-toolbar{z-index:99;width:auto}.footer-toolbar__body .alain-pro__body{margin-bottom:64px!important}.alain-pro__menu-side .footer-toolbar{left:256px}.alain-pro__menu-top .footer-toolbar{left:0}.aside-collapsed .footer-toolbar{left:80px}.page-header{padding-right:24px;padding-left:24px}.btn-flat{background:0 0!important;border-color:transparent!important;box-shadow:none!important}.ant-dropdown-menu-item{outline:0}@page{size:a3}.brand-page-loading{position:absolute;top:0;right:0;left:0;min-height:200px}.brand-top-right{position:absolute;top:8px;right:8px}.brand-top-left{position:absolute;top:8px;left:8px}.brand-range-picker__date{display:inline-block;width:240px}.alain-pro__header-search,.setting-drawer__blockChecbox{display:flex}.setting-drawer__handle-opened{right:300px!important}.setting-drawer__blockChecbox-item{position:relative;margin-right:16px;border-radius:2px;cursor:pointer}.setting-drawer__blockChecbox-item img{width:48px}.setting-drawer__blockChecbox-selectIcon{position:absolute;top:0;right:0;width:100%;height:100%;padding-top:15px;padding-left:24px;color:#177ddc;font-weight:700;font-size:14px}.setting-drawer__handle{top:114px;width:32px;height:32px;background:rgba(0,0,0,.38)}.setting-drawer__handle-icon{font-size:16px}.setting-drawer-rtl .setting-drawer__handle-opened{right:inherit!important;left:300px!important}.alain-pro__header-search .anticon-search{font-size:16px;cursor:pointer}.alain-pro__header-search-input{width:0;overflow:hidden;background:0 0;border-radius:0;transition:width .3s,margin-left .3s}.alain-pro__header-search-input .ant-select-selection{background:0 0}.alain-pro__header-search-input input{padding-right:0;padding-left:0;background:0 0;border:0;outline:0;box-shadow:none}.alain-pro__header-search-input,.alain-pro__header-search-input:focus,.alain-pro__header-search-input:hover,.message__tools{border-bottom:1px solid #434343}.alain-pro__header-search-show:hover{background:0 0!important}.alain-pro__header-search-show .alain-pro__header-search-input{width:210px;margin-left:8px}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-search-show .ant-input{color:#fff}.brand-bordered{overflow:hidden;border:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after,.brand-bordered>[class*=ant-col-]::before{position:absolute;display:block;content:''}.brand-bordered>[class*=ant-col-]::before{right:0;bottom:-1px;left:0;height:0;border-top:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after{top:0;bottom:0;left:-1px;width:0;border-left:1px solid rgba(24,28,33,.06)}.brand-border-width-2{border-width:2px!important}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding-right:40px;padding-left:12px}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header .arrow{right:16px;left:unset}.dd-btn{display:block;width:24px;height:24px;color:#bfbfbf;line-height:24px;text-align:center;border-radius:50%;cursor:pointer}.quick-chat,.quill-editor{line-height:initial}.dd-btn:hover{background:#1f1f1f;border:1px solid #303030}.attachment-img,.img-thm{background-color:transparent}.attachment{display:flex;align-items:center;margin-bottom:8px;padding:4px;border:1px solid #e8e8e8}.attachment-icon{padding:2px;font-size:40px}.attachment-img{width:64px;height:64px;background-position:center center;background-size:cover}.feed__icon{position:relative}.feed__icon-tag{position:absolute;top:-6px;right:-2px}.img-thm{position:relative;display:block;max-width:100%;height:auto}.img-thm__icon,.img-thm__mask{position:absolute;transition:all .2s ease-in-out;display:block}.img-thm__mask{top:0;right:0;bottom:0;left:0;z-index:2;background-color:rgba(0,0,0,.3)}.img-thm__icon{top:50%;left:50%;z-index:3;color:#fff;font-size:32px;opacity:0}.img-thm__img{z-index:1;max-width:100%;height:auto}.img-thm__zoom-in{overflow:hidden}.img-thm__zoom-in .img-thm__icon{transform:translate(-50%,-50%) scale(.6)}.img-thm__zoom-in .img-thm__img{transition:all .3s ease-in-out}.img-thm__zoom-in:hover .img-thm__icon{transform:translate(-50%,-50%) scale(1)}.img-thm__zoom-in:hover .img-thm__img{transform:scale(1.1)}.img-thm:not(:hover):not(:focus) .img-thm__mask{opacity:0}.quill-editor.ng-dirty.ng-invalid .ql-container,.quill-editor.ng-dirty.ng-invalid .ql-toolbar{border-color:#a61d24}.ql-snow .ql-size .ql-picker-item[data-value="10px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="10px"]::before{content:'10px'}.ql-snow .ql-size .ql-picker-item[data-value="12px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="12px"]::before{content:'12px'}.ql-snow .ql-size .ql-picker-item[data-value="14px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="14px"]::before{content:'14px'}.ql-snow .ql-size .ql-picker-item[data-value="16px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="16px"]::before{content:'16px'}.ql-snow .ql-size .ql-picker-item[data-value="18px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="18px"]::before{content:'18px'}.ql-snow .ql-size .ql-picker-item[data-value="20px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="20px"]::before{content:'20px'}.ql-snow .ql-size .ql-picker-item[data-value="24px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="24px"]::before{content:'24px'}app-file-manager file-manager{display:block;padding:24px;background:#1f1f1f}.file-manager{display:flex;margin-top:16px}.file-manager__header{display:flex;align-items:center;margin-top:16px;padding:0 32px 4px 12px;font-weight:700;border-bottom:2px solid rgba(0,0,0,.05)}.file-manager__header-name{flex:1}.file-manager__header-pixel{width:150px}.file-manager__header-time{width:130px}.file-manager__small .file-item{display:flex;align-items:center;width:100%;margin:0 0 2px;padding:4px 32px 4px 0;text-align:left}.file-manager__small .file-item__icon,.file-manager__small .file-item__img{display:block;width:32px;height:32px;margin:0 8px;font-size:20px;line-height:32px;text-align:center}.file-manager__small .file-item__name{flex:1}.file-manager__small .file-item__pixel{position:inherit;width:150px}.file-manager__small .file-item__pixel>span{background:0 0}.file-manager__small .file-item__time{display:block;width:130px}.file-item{position:relative;z-index:1;flex:0 0 auto;flex-shrink:0;width:9rem;margin:0 8px 8px 0;padding:16px 0 24px;text-align:center;border:1px solid transparent;cursor:pointer}.file-item:hover{border-color:rgba(0,0,0,.05)}.file-item:hover .file-item__actions{display:block}.file-item__selected{background-color:#111d2c!important;border-color:#177ddc!important}.course__img,.file-item__img{background-color:transparent}.file-item__selected .file-item__actions{display:block}.file-item__icon{display:block;margin:16px 0;font-size:40px}.file-item__img{display:block;width:4rem;height:4rem;margin:0 auto .75rem;font-size:2.5rem;line-height:4rem;background-position:center center;background-size:cover}.file-item__name{height:28px;padding:0 8px;overflow:hidden;color:#4e5155;line-height:28px;white-space:nowrap;text-overflow:ellipsis}.file-item__pixel{position:absolute;bottom:0;left:0;width:100%}.file-item__pixel>span{display:block;width:100%;padding:2px 0;background:rgba(0,0,0,.01)}.file-item__time{display:none}.file-item__actions{position:absolute;top:8px;right:8px;display:none}.ware__color{display:inline-block;width:12px;height:12px}.ware__imgs .se__label{padding-right:8px}.ware__imgs-wrap{display:flex;align-items:center}.ware__imgs-color{display:flex;margin:0;padding:0;list-style:none}.ware__imgs-item{position:relative;width:72px;height:72px;margin-right:16px;border:1px solid #ccc}.ware__imgs-item-img{width:70px;height:70px}.ware__imgs-item-img img{max-width:100%;max-height:100%}.ware__imgs-item-del{position:absolute;top:2px;right:4px;color:#fff;line-height:normal}.ware__imgs-item::before{position:absolute;top:24px;display:block;width:100%;color:#ccc;line-height:normal;text-align:center;content:'细节图'}.ware__imgs-item:first-child::before{content:'主图*'}.ware__imgs-item-exists::before{content:''}.faq-v1__item{display:flex;align-items:center;padding:8px}.faq-v1__item-icon{font-size:24px}.faq-v1__item-title{margin-bottom:0;font-weight:400;font-size:14px}.faq-v1__item-remark{margin-bottom:0;color:#bfbfbf}.faq-v1__item-hover{background-color:rgba(0,0,0,.02);cursor:pointer}.faq-v1__item-hover:hover{background-color:rgba(0,0,0,.04)}.faq-v1__item-hover:hover .faq__item-icon,.faq-v1__item-hover:hover .faq__item-title{color:#177ddc}.task__container{border-bottom:1px solid #303030}.task__container:last-child{border-bottom:none}.task__title{margin-bottom:16px;color:#a3a4a6;font-weight:400;font-size:12px}.task__item{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(24,28,33,.06)}.task__item:first-child{border-top:none}.task__item-handle{margin-right:16px;color:#bfbfbf;font-size:12px;cursor:pointer}.task__item-done{color:#a3a4a6}.message__container{position:relative}.message__sidebox{position:absolute;top:0;left:0;width:250px;height:100%;background:rgba(255,255,255,.03)}.message__tools{display:flex;flex-wrap:wrap;align-items:center;padding:4px 24px;border-top:1px solid #434343}.message__tools-choose{display:flex;flex:1;flex-wrap:wrap;align-items:center}.message__content{min-height:600px}.message__item{display:flex;align-items:center;padding:4px 24px;border-top:1px solid #303030}.message__item:first-child{border-top:none}.message__item-from{display:flex;align-items:center;width:160px}.message__item-subject{width:100%;color:#595959}.message__item-subject:hover{color:#177ddc}.message__item-date{color:#bfbfbf;white-space:nowrap}.message__item-unread .message__item-subject{font-weight:700}@media (min-width:768px){.message__container{padding-left:250px}}@media (max-width:767px){.message__tools-choose{flex-basis:100%}.message__item{flex-wrap:wrap}}.course__img{display:block;padding-top:60%;background-position:center center;background-size:cover}.course__star .ant-rate{font-size:10px}.chat__container{display:flex;overflow:hidden;background:#1f1f1f;border:1px solid #303030}.chat__scroll-container{position:relative;width:100%}.chat__sidebox{display:flex;flex-direction:column;width:250px;box-shadow:6px 0 16px -8px rgba(0,0,0,.32),9px 0 28px 0 rgba(0,0,0,.2),12px 0 48px 16px rgba(0,0,0,.12);transition:.2s all}.chat__contact{display:flex;align-items:center;padding:8px 16px;color:#4e5155;cursor:pointer}.chat__contact:hover:not(.chat__contact-active){background-color:rgba(24,28,33,.03)}.chat__contact .ant-badge-status-text{color:#52c41a;font-size:12px}.chat__contact-offline{opacity:.7}.chat__contact-offline .ant-badge-status-text{color:#f5222d}.chat__contact-active{background-color:#e84c64}.chat__contact-active,.chat__contact-active .ant-badge-status-text{color:#fff}.chat__user-avatar{height:40px;border-radius:50%}.chat__message{display:flex;flex-shrink:0;margin-bottom:8px}.chat__message-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:24px}.chat__message-left{margin-right:58px}.chat__message-left .chat__message-avatar{margin-right:8px}.chat__message-right{flex-direction:row-reverse;margin-left:58px}.chat__message-right .chat__message-avatar{margin-left:8px}.chat__message-send{text-align:center}.chat__message-avatar{width:50px;text-align:center}.chat__message-text{width:100%;color:#bfbfbf;font-size:12px;text-align:center}.chat__message-time{padding-top:2px;color:#bfbfbf;font-size:12px;white-space:nowrap}.chat__message-msg{padding:4px 8px;background:#050505;border-radius:4px}.fc-antd .fc-event,.fc-antd .fc-scrollgrid,.fc-antd td,.fc-antd th{border:1px solid #303030}.chat__message-msg--name{display:block;margin-bottom:2px}[dir=rtl] .chat__message-left{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-left .chat__message-avatar{margin-right:inherit;margin-left:8px}[dir=rtl] .chat__message-right{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-right .chat__message-avatar{margin-right:inherit;margin-left:8px}.fc-antd a{color:inherit}.fc-antd a,.fc-antd a:hover{text-decoration:none}.fc-antd .fc-col-header-cell{padding:8px;color:rgba(255,255,255,.85)}.fc-antd .fc-day:not(.fc-axis){padding:4px}.fc-antd .fc-day.fc-day-today{background:rgba(232,232,232,.2)}.fc-antd .fc-event{background:#1f1f1f;box-shadow:0 0 8px 0 rgba(0,0,0,.055)}.fc-antd .fc-event-title-container{padding:4px 4px 4px 20px}.fc-antd .fc-event-title-container::before{position:absolute;top:50%;left:4px;display:block;width:10px;height:10px;margin-top:-5px;background:rgba(0,0,0,.2);border-radius:50%;content:' '}.fc-antd .fc-event-title{display:block;overflow:hidden;color:rgba(255,255,255,.85);white-space:nowrap;text-overflow:ellipsis}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main{padding-left:4px}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main::before{display:none}.fc-antd .fc-event-fill-primary,.fc-antd .fc-event-primary .fc-event-title-container::before{background-color:#177ddc}.fc-antd .fc-event-fill-success,.fc-antd .fc-event-success .fc-event-title-container::before{background-color:#49aa19}.fc-antd .fc-event-danger .fc-event-title-container::before,.fc-antd .fc-event-fill-danger{background-color:#d32029}.fc-antd .fc-event-fill-warning,.fc-antd .fc-event-warning .fc-event-title-container::before{background-color:#d8bd14}.fc-antd .fc-event-fill-purple,.fc-antd .fc-event-purple .fc-event-title-container::before{background-color:#642ab5}.fc-antd .fc-event-fill-magenta,.fc-antd .fc-event-magenta .fc-event-title-container::before{background-color:#cb2b83}.fc-antd .fc-popover-header{padding:8px 16px;background:#eee}.fc-antd .fc-popover-body{background:#1f1f1f}.pro-passport{display:flex;flex-basis:100%;align-items:stretch;justify-content:stretch;min-height:100vh;overflow:hidden}.pro-passport__langs{position:fixed;top:16px;left:16px;z-index:9999}.pro-passport__langs .alain-pro__header-item{height:auto;padding:0}.pro-passport__bg{padding:0 24px;background-color:transparent;background-position:center center;background-size:cover}.pro-passport__bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:.4}.pro-passport__form{padding:32px}.pro-passport__form-logo{height:32px;text-align:center}.pro-passport__form-logo img{max-height:100%}.pro-passport__form-title{margin:16px 0;color:#bfbfbf;text-align:center}@media (max-width:991px){.pro-passport__form{width:100%}}.quick-chat{position:fixed;top:auto;right:0;bottom:0;left:auto;z-index:98;display:flex;flex:1;flex-direction:column;width:320px;margin-right:30px;background-color:#1f1f1f;border:1px solid #303030;border-bottom:none;border-radius:4px 4px 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14)}.quick-chat__bar{display:flex;flex-direction:row;align-items:center;height:32px;border-bottom:1px solid #303030;cursor:pointer;user-select:none}.quick-chat__bar--title{flex:1;height:32px;padding-left:16px;font-size:14px;line-height:32px}.quick-chat__bar--title:hover{background-color:#242424}.quick-chat__bar--title-has-message{animation:antSwingIn 1.5s infinite}.quick-chat__bar--menu{display:flex;align-items:center;height:32px}.quick-chat__bar--menu .anticon{font-size:18px}.quick-chat__bar--close{padding:0 16px 0 8px}.quick-chat__body{max-height:370px;transition:max-height .5s cubic-bezier(0,1,0,1)}.quick-chat__content{position:relative;display:flex;flex-direction:column;height:320px}.app-dd__op,.quick-chat .chat__message{align-items:center}.quick-chat__content .chat__scroll-container{display:block}.quick-chat__reply{height:50px;padding:8px;border-top:1px solid #303030}.quick-chat__reply--ipt{display:block;width:100%;height:100%;background:0 0;border:none;outline:0}.quick-chat .chat__message-avatar{width:28px}.quick-chat .chat__user-avatar{height:20px}.quick-chat__collapsed .quick-chat__body{max-height:0}.quick-chat__collapsed .quick-chat__body .chat__scroll-container{display:none}[dir=rtl] .quick-chat{right:inherit;left:0;margin-right:inherit;margin-left:30px}[dir=rtl] .quick-chat__bar--title{padding-right:16px;padding-left:0}.app-dd{position:relative;display:block}.app-dd__op{position:absolute;top:-24px;right:24px;z-index:99;display:flex;justify-content:center}.app-dd__op-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:8px;color:#fff;background:rgba(0,0,0,.4);border-radius:0 0 4px 4px;cursor:pointer;pointer-events:auto}.app-dd__op-btn:hover{background:rgba(0,0,0,.3)}.app-dd__ph{opacity:.3}.app-dd__item{position:relative;display:block}.app-dd__item-btn{position:absolute;top:8px;right:8px;display:none;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(0,0,0,.02);cursor:pointer}.app-dd__item:hover .app-dd__item-refresh{display:flex}.app-dd__item-design{opacity:.8;user-select:none}.app-dd__item-design .app-dd__item-handle{display:flex!important;background:rgba(0,0,0,.1)}.app-dd__item-design .app-dd__item-refresh{display:none!important}.app-dd__item.cdk-drag-preview{border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.app-dd__item.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)} \ No newline at end of file diff --git a/src/assets/tmp/app-data.json b/src/assets/tmp/app-data.json new file mode 100644 index 00000000..851ca714 --- /dev/null +++ b/src/assets/tmp/app-data.json @@ -0,0 +1,35 @@ +{ + "app": { + "name": "Ng Alain Pro", + "description": "Ng-zorro admin panel front-end framework" + }, + "user": { + "name": "Admin", + "avatar": "./assets/tmp/img/avatar.jpg", + "email": "cipchk@qq.com" + }, + "menu": [ + { + "text": "主导航", + "i18n": "menu.main", + "group": true, + "hideInBreadcrumb": true, + "children": [ + { + "text": "仪表盘", + "i18n": "menu.dashboard", + "icon": "anticon anticon-dashboard", + "link": "/dashboard" + }, + { + "text": "快捷菜单", + "i18n": "menu.shortcut", + "icon": "anticon anticon-rocket", + "shortcutRoot": true, + "children": [] + } + ] + } + ] + } + \ No newline at end of file diff --git a/src/assets/tmp/demo.docx b/src/assets/tmp/demo.docx new file mode 100644 index 00000000..06974ccf Binary files /dev/null and b/src/assets/tmp/demo.docx differ diff --git a/src/assets/tmp/demo.pdf b/src/assets/tmp/demo.pdf new file mode 100644 index 00000000..73d3d8cb Binary files /dev/null and b/src/assets/tmp/demo.pdf differ diff --git a/src/assets/tmp/demo.pptx b/src/assets/tmp/demo.pptx new file mode 100644 index 00000000..e794dacd Binary files /dev/null and b/src/assets/tmp/demo.pptx differ diff --git a/src/assets/tmp/demo.xlsx b/src/assets/tmp/demo.xlsx new file mode 100644 index 00000000..86371d17 Binary files /dev/null and b/src/assets/tmp/demo.xlsx differ diff --git a/src/assets/tmp/demo.zip b/src/assets/tmp/demo.zip new file mode 100644 index 00000000..96450fd0 Binary files /dev/null and b/src/assets/tmp/demo.zip differ diff --git a/src/assets/tmp/docx.docx b/src/assets/tmp/docx.docx new file mode 100644 index 00000000..58698268 Binary files /dev/null and b/src/assets/tmp/docx.docx differ diff --git a/src/assets/tmp/i18n/el-GR.json b/src/assets/tmp/i18n/el-GR.json new file mode 100644 index 00000000..2da51e4a --- /dev/null +++ b/src/assets/tmp/i18n/el-GR.json @@ -0,0 +1,151 @@ +{ + "menu.search.placeholder": "Αναζήτηση ατόμων, αρχείων, φωτογραφιών...", + "menu.fullscreen": "Πλήρης οθόνη", + "menu.fullscreen.exit": "Έξοδος από πλήρη οθόνη", + "menu.clear.local.storage": "Καθαρισμός τοπικής μνήμης", + "menu.lang": "Γλώσσα", + "menu.main": "Κύριο μενού", + "menu.dashboard": "Πίνακας διαχείρισης", + "menu.dashboard.v1": "Προεπιλογή", + "menu.dashboard.analysis": "Ανάλυση", + "menu.dashboard.monitor": "Εποπτεία", + "menu.dashboard.workplace": "Χώρος εργασίας", + "menu.shortcut": "Συντομεύσεις", + "menu.widgets": "Γραφικά στοιχεία", + "menu.alain": "Alain", + "menu.style": "Στυλ", + "menu.style.typography": "Τυπογραφία", + "menu.style.gridmasonry": "Πλέγμα Masonry", + "menu.style.colors": "Χρώματα", + "menu.delon": "Βιβλιοθήκη Delon", + "menu.delon.form": "Δυναμική φόρμα", + "menu.delon.table": "Απλός πίνακας", + "menu.delon.util": "Εργαλεία", + "menu.delon.print": "Εκτύπωση", + "menu.delon.guard": "Προστασία διαδρομής", + "menu.delon.cache": "Προσωρινή μνήμη", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Λήψη αρχείου", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Φόρμα", + "menu.form.basicform": "Βασική φόρμα", + "menu.form.stepform": "Φόρμα βημάτων", + "menu.form.stepform.info": "Φόρμα βημάτων(γράψτε πληροφορίες μεταφοράς)", + "menu.form.stepform.confirm": "Φόρμα βημάτων(επιβεβαιώστε τις πληροφορίες μεταφοράς)", + "menu.form.stepform.result": "Φόρμα βημάτων(ολοκληρωμένη)", + "menu.form.advancedform": "Σύνθετη φόρμα", + "menu.list": "Λίστα", + "menu.list.searchtable": "Πίνακας αναζήτησης", + "menu.list.basiclist": "Βασική λίστα", + "menu.list.cardlist": "Λίστα καρτών", + "menu.list.searchlist": "Λίστα αναζήτησης", + "menu.list.searchlist.articles": "Λίστα αναζήτησης (άρθρα)", + "menu.list.searchlist.projects": "Λίστα αναζήτησης (έργα)", + "menu.list.searchlist.applications": "Λίστα αναζήτησης (εφαρμογές)", + "menu.profile": "Προφίλ", + "menu.profile.basic": "Βασικό προφίλ", + "menu.profile.advanced": "Σύνθετο προφίλ", + "menu.result": "Αποτέλεσμα", + "menu.result.success": "Επιτυχία", + "menu.result.fail": "Αποτυχία", + "menu.exception": "Εξαίρεση", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Λογαριασμός", + "menu.account.center": "Κέντρο διαχείρισης λογαριασμού", + "menu.account.settings": "Ρυθμίσεις λογαριασμού", + "menu.account.trigger": "Πρόκληση σφάλματος", + "menu.account.logout": "Αποσύνδεση", + "menu.more": "Περισσότερα", + "menu.report": "Αναφορά", + "menu.report.relation": "Χάρτης συσχετίσεων", + "menu.extras": "Επιπλέον", + "menu.extras.helpcenter": "Κέντρο βοήθειας", + "menu.extras.settings": "Ρυθμίσεις", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan Αρ.{{no}} κατάστημα", + "app.analysis.introduce": "Εισαγωγή", + "app.analysis.total-sales": "Σύνολο πωλήσεων", + "app.analysis.day-sales": "Ημερήσιες πωλήσεις", + "app.analysis.visits": "Επισκέψεις", + "app.analysis.visits-trend": "Τάση επισκεψιμότητας", + "app.analysis.visits-ranking": "Κατατάξη επισκεψιμότητας", + "app.analysis.day-visits": "Ημερήσια επισκεψιμότητα", + "app.analysis.week": "Εβδομαδιαία αναλογία", + "app.analysis.day": "Ημερήσια αναλογία", + "app.analysis.payments": "Πληρωμές", + "app.analysis.conversion-rate": "Συναλλαγματική Ισοτιμία", + "app.analysis.operational-effect": "Λειτουργική επίδραση", + "app.analysis.sales-trend": "Τάση πωλήσεων καταστημάτων", + "app.analysis.sales-ranking": "Κατάταξη πωλήσεων", + "app.analysis.all-year": "Όλο τον χρόνο", + "app.analysis.all-month": "Όλο τον μήνα", + "app.analysis.all-week": "Όλη την εβδομάδα", + "app.analysis.all-day": "Όλη μέρα", + "app.analysis.search-users": "Αναζήτηση χρηστών", + "app.analysis.per-capita-search": "Αναζήτηση ανά κεφάλαιο", + "app.analysis.online-top-search": "(Ζωντανά) Κορυφαία αναζήτηση", + "app.analysis.the-proportion-of-sales": "Το ποσοστό των πωλήσεων", + "app.analysis.channel.all": "ΟΛΑ", + "app.analysis.channel.online": "Ζωντανά", + "app.analysis.channel.stores": "Καταστήματα", + "app.analysis.sales": "Πωλήσεις", + "app.analysis.traffic": "Κίνηση", + "app.analysis.table.rank": "Κατάταξη", + "app.analysis.table.search-keyword": "Λέξη κλειδί", + "app.analysis.table.users": "Χρήστες", + "app.analysis.table.weekly-range": "Εβδομαδιαίο εύρος", + "app.monitor.trading-activity": "Δραστηριότητα συναλλαγών σε πραγματικό χρόνο", + "app.monitor.total-transactions": "Σύνολο ημερήσιων συναλλαγών", + "app.monitor.sales-target": "Ποσοστό ολοκλήρωσης στόχου πωλήσεων", + "app.monitor.remaining-time": "Εναπομείναν χρόνος δραστηριότητας", + "app.monitor.total-transactions-per-second": "Σύνολο συναλλαγών ανά δευτερόλεπτο", + "app.monitor.activity-forecast": "Πρόβλεψη δραστηριότητας", + "app.monitor.efficiency": "Αποδοτικότητα", + "app.monitor.ratio": "Αναλογία", + "app.monitor.proportion-per-category": "Ποσοστό ανά κατηγορία", + "app.monitor.fast-food": "Γρήγορο φαγητό", + "app.monitor.western-food": "Δυτικό φαγητό", + "app.monitor.hot-pot": "Ζεστό φαγητό", + "app.monitor.waiting-for-implementation": "Αναμονή για υλοποίηση", + "app.monitor.popular-searches": "Δημοφιλείς αναζητήσεις", + "app.monitor.resource-surplus": "Πλεόνασμα πόρων", + "app.monitor.fund-surplus": "Κεφαλαιακό πλεόνασμα", + "app.lock": "Κλείδωμα", + "app.login.message-invalid-credentials": "Λάθος όνομα χρήστη ή κωδικός πρόσβασης(admin/ant.design)", + "app.login.message-invalid-verification-code": "Μη έγκυρος κωδικός επιβεβαίωσης", + "app.login.tab-login-credentials": "Στοιχεία σύνδεσης", + "app.login.tab-login-mobile": "Αριθμός κινητού", + "app.login.remember-me": "Να με θυμάσαι", + "app.login.forgot-password": "Ξέχασα τον κωδικό μου", + "app.login.sign-in-with": "Σύνδεση με", + "app.login.signup": "Εγγραφή", + "app.login.login": "Σύνδεση", + "app.register.register": "Εγγραφή", + "app.register.get-verification-code": "Λήψη κωδικού", + "app.register.sign-in": "Εχετε ήδη λογαριασμό;", + "app.register-result.msg": "Λογαριασμός:εγγεγραμμένος ως {{email}}", + "app.register-result.activation-email": "Το email ενεργοποίησης έχει σταλεί στο email σας και έχει ισχύ εώς 24 ώρες. Παρακαλούμε συνδεθείτε στο email σας εγκαίρως και κάντε κλικ στο σύνδεσμο του email για να ενεργοποιήσετε το λογαριασμό.", + "app.register-result.back-home": "Επιστροφή στην αρχική σελίδα", + "app.register-result.view-mailbox": "Προβολή αλληλογραφίας", + "validation.email.required": "Παρακαλώ εισάγετε το email σας!", + "validation.email.wrong-format": "Η μορφή της διεύθυνση email δεν είναι έγκυρη!", + "validation.password.required": "Παρακαλώ εισάγετε τον κωδικό πρόσβασης!", + "validation.password.twice": "Οι κωδικοί πρόσβασης που εισαγάγατε δεν ταιριάζουν!", + "validation.password.strength.msg": "Παρακαλώ εισάγετε τουλάχιστον 6 χαρακτήρες, μην χρησιμοποιείτε αδύναμους κωδικούς", + "validation.password.strength.strong": "Ισχύς κωδικού: ισχυρός", + "validation.password.strength.medium": "Ισχύς κωδικού: μέτριος", + "validation.password.strength.short": "Ισχύς κωδικού: αδύναμος", + "validation.confirm-password.required": "Παρακαλώ επιβεβαιώστε τον κωδικό πρόσβασης!", + "validation.phone-number.required": "Παρακαλω εισάγετε τον αριθμό τηλεφώνου σας!", + "validation.phone-number.wrong-format": "O αριθμός τηλεφώνου δέν είναι έγκυρος!", + "validation.verification-code.required": "Παρακαλώ εισάγετε τον κωδικό επιβεβαίωσης!", + "validation.title.required": "Παρακαλώ εισάγετε έναν τίτλο", + "validation.date.required": "Παρακαλώ επιλέξτε την ημερομηνία έναρξης και λήξης", + "validation.goal.required": "Παρακαλώ εισάγετε την περιγραφή του στόχου", + "validation.standard.required": "Παρακαλώ εισάγετε μια μέτρηση" +} diff --git a/src/assets/tmp/i18n/en-US.json b/src/assets/tmp/i18n/en-US.json new file mode 100644 index 00000000..e60a7160 --- /dev/null +++ b/src/assets/tmp/i18n/en-US.json @@ -0,0 +1,251 @@ +{ + "menu.search.placeholder": "Search for people, file, photos...", + "menu.fullscreen": "Fullscreen", + "menu.fullscreen.exit": "Exit Fullscreen", + "menu.clear.local.storage": "Clear Local Storage", + "menu.lang": "Language", + "menu.main": "Main Navigation", + "menu.dashboard": "Dashboard", + "menu.dashboard.v1": "Default", + "menu.dashboard.analysis": "Analysis", + "menu.dashboard.monitor": "Monitor", + "menu.dashboard.workplace": "Workplace", + "menu.shortcut": "Shortcut", + "menu.widgets": "Widgets", + "menu.alain": "Alain", + "menu.style": "Style", + "menu.style.typography": "Typography", + "menu.style.gridmasonry": "Grid Masonry", + "menu.style.colors": "Colors", + "menu.delon": "Delon Lib", + "menu.delon.form": "Dynamic Form", + "menu.delon.table": "Simple table", + "menu.delon.util": "Util", + "menu.delon.print": "Print", + "menu.delon.guard": "Route Guard", + "menu.delon.cache": "Cache", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Download File", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Form", + "menu.form.basicform": "Basic Form", + "menu.form.stepform": "Step Form", + "menu.form.stepform.info": "Step Form(write transfer information)", + "menu.form.stepform.confirm": "Step Form(confirm transfer information)", + "menu.form.stepform.result": "Step Form(finished)", + "menu.form.advancedform": "Advanced Form", + "menu.list": "List", + "menu.list.searchtable": "Search Table", + "menu.list.basiclist": "Basic List", + "menu.list.cardlist": "Card List", + "menu.list.searchlist": "Search List", + "menu.list.searchlist.articles": "Search List(articles)", + "menu.list.searchlist.projects": "Search List(projects)", + "menu.list.searchlist.applications": "Search List(applications)", + "menu.profile": "Profile", + "menu.profile.basic": "Basic Profile", + "menu.profile.advanced": "Advanced Profile", + "menu.result": "Result", + "menu.result.success": "Success", + "menu.result.fail": "Fail", + "menu.exception": "Exception", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Account", + "menu.account.center": "Account Center", + "menu.account.settings": "Account Settings", + "menu.account.trigger": "Trigger Error", + "menu.account.logout": "Logout", + "menu.more": "More", + "menu.report": "Report", + "menu.report.relation": "Relation Map", + "menu.extras": "Extra", + "menu.extras.helpcenter": "Help Center", + "menu.extras.settings": "Settings", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan No.{{no}} shop", + "app.analysis.introduce": "Introduce", + "app.analysis.total-sales": "Total Sales", + "app.analysis.day-sales": "Day Sales", + "app.analysis.visits": "Visits", + "app.analysis.visits-trend": "Visits Trend", + "app.analysis.visits-ranking": "Visits Ranking", + "app.analysis.day-visits": "Day Visits", + "app.analysis.week": "Week Ratio", + "app.analysis.day": "Day Ratio", + "app.analysis.payments": "Payments", + "app.analysis.conversion-rate": "Conversion Rate", + "app.analysis.operational-effect": "Operational Effect", + "app.analysis.sales-trend": "Stores Sales Trend", + "app.analysis.sales-ranking": "Sales Ranking", + "app.analysis.all-year": "All Year", + "app.analysis.all-month": "All Month", + "app.analysis.all-week": "All Week", + "app.analysis.all-day": "All day", + "app.analysis.search-users": "Search Users", + "app.analysis.per-capita-search": "Per Capita Search", + "app.analysis.online-top-search": "Online Top Search", + "app.analysis.the-proportion-of-sales": "The Proportion Of Sales", + "app.analysis.channel.all": "ALL", + "app.analysis.channel.online": "Online", + "app.analysis.channel.stores": "Stores", + "app.analysis.sales": "Sales", + "app.analysis.traffic": "Traffic", + "app.analysis.table.rank": "Rank", + "app.analysis.table.search-keyword": "Keyword", + "app.analysis.table.users": "Users", + "app.analysis.table.weekly-range": "Weekly Range", + "app.monitor.trading-activity": "Real-Time Trading Activity", + "app.monitor.total-transactions": "Total transactions today", + "app.monitor.sales-target": "Sales target completion rate", + "app.monitor.remaining-time": "Remaining time of activity", + "app.monitor.total-transactions-per-second": "Total transactions per second", + "app.monitor.activity-forecast": "Activity forecast", + "app.monitor.efficiency": "Efficiency", + "app.monitor.ratio": "Ratio", + "app.monitor.proportion-per-category": "Proportion Per Category", + "app.monitor.fast-food": "Fast food", + "app.monitor.western-food": "Western food", + "app.monitor.hot-pot": "Hot pot", + "app.monitor.waiting-for-implementation": "Waiting for implementation", + "app.monitor.popular-searches": "Popular Searches", + "app.monitor.resource-surplus": "Resource Surplus", + "app.monitor.fund-surplus": "Fund Surplus", + "app.lock": "Lock", + "app.login.message-invalid-credentials": "Invalid username or password(admin/ant.design)", + "app.login.message-invalid-verification-code": "Invalid verification code", + "app.login.tab-login-credentials": "Credentials", + "app.login.tab-login-mobile": "Mobile number", + "app.login.remember-me": "Remember me", + "app.login.forgot-password": "Forgot your password?", + "app.login.sign-in-with": "Sign in with", + "app.login.signup": "Sign up", + "app.login.login": "Login", + "app.register.register": "Register", + "app.register.get-verification-code": "Get code", + "app.register.sign-in": "Already have an account?", + "app.register-result.msg": "Account:registered at {{email}}", + "app.register-result.activation-email": "The activation email has been sent to your email address and is valid for 24 hours. Please log in to the email in time and click on the link in the email to activate the account.", + "app.register-result.back-home": "Back to home", + "app.register-result.view-mailbox": "View mailbox", + "validation.email.required": "Please enter your email!", + "validation.email.wrong-format": "The email address is in the wrong format!", + "validation.password.required": "Please enter your password!", + "validation.password.twice": "The passwords entered twice do not match!", + "validation.password.strength.msg": "Please enter at least 6 characters and don't use passwords that are easy to guess.", + "validation.password.strength.strong": "Strength: strong", + "validation.password.strength.medium": "Strength: medium", + "validation.password.strength.short": "Strength: too short", + "validation.confirm-password.required": "Please confirm your password!", + "validation.phone-number.required": "Please enter your phone number!", + "validation.phone-number.wrong-format": "Malformed phone number!", + "validation.verification-code.required": "Please enter the verification code!", + "validation.title.required": "Please enter a title", + "validation.date.required": "Please select the start and end date", + "validation.goal.required": "Please enter a description of the goal", + "validation.standard.required": "Please enter a metric", + "common.list": "List", + "common.add": "Add", + "common.edit": "Edit", + "common.delete": "Delete", + "common.no-data": "No Data", + "common.captcha-btn.second": "s", + "common.captcha-btn.send": "Send", + "validation.phone-number": "Phone Number", + "validation.verification-code": "Verification Code", + "validation.password": "Password", + "app.setting.pagestyle": "Page style setting", + "app.setting.pagestyle.dark": "Dark style", + "app.setting.pagestyle.light": "Light style", + "app.setting.content-width": "Content Width", + "app.setting.content-width.fixed": "Fixed", + "app.setting.content-width.fluid": "Fluid", + "app.setting.themecolor": "Theme Color", + "app.setting.themecolor.dust": "Dust Red", + "app.setting.themecolor.volcano": "Volcano", + "app.setting.themecolor.sunset": "Sunset Orange", + "app.setting.themecolor.cyan": "Cyan", + "app.setting.themecolor.green": "Polar Green", + "app.setting.themecolor.daybreak": "Daybreak Blue (default)", + "app.setting.themecolor.geekblue": "Geek Glue", + "app.setting.themecolor.purple": "Golden Purple", + "app.setting.navigationmode": "Navigation Mode", + "app.setting.sidemenu": "Side Menu Layout", + "app.setting.topmenu": "Top Menu Layout", + "app.setting.fixedheader": "Fixed Header", + "app.setting.fixedsidebar": "Fixed Sidebar", + "app.setting.fixedsidebar.hint": "Works on Side Menu Layout", + "app.setting.hideheader": "Hidden Header when scrolling", + "app.setting.hideheader.hint": "Works when Hidden Header is enabled", + "app.setting.onlyicon": "Only icon", + "app.setting.onlyicon.hint": "Works on Top Menu Layout", + "app.setting.othersettings": "Other Settings", + "app.setting.weakmode": "Weak Mode", + "app.setting.copy": "Copy Setting", + "app.setting.copyinfo": "Copy success, please replace it according to the contents of clipboard.", + "app.setting.production.hint": "Setting panel shows in development environment only, please manually modify", + "app.setting.copy.result": "Configure in [src/styles/theme.less]: \n{{colorVars}}\n\nConfigure in [src/environments/*]:\nexport const environment = {\n ...\n pro: {\n{{layoutVars}}\n }\n}", + "menu.dashboard.dd": "Customize", + "menu.other.calendar": "Calendar", + "menu.other.calendar.basic": "Basic Calendar", + "menu.other.calendar.list": "List View", + "menu.other.calendar.events": "Events", + "menu.other.faq": "FAQ", + "menu.other.faq.v1": "FAQ v1", + "menu.other.faq.v2": "FAQ v2", + "menu.other.faq.v3": "FAQ v3", + "menu.other.kanban-board": "Kanban board", + "menu.other.task": "Tasks", + "menu.other.forum": "Forums", + "menu.other.email": "E-Mail", + "menu.other.project": "Projects", + "menu.other.client": "Clients", + "menu.other.contact": "Contacts", + "menu.other.pricing": "Pricing", + "menu.other.billing": "Billing", + "menu.other.course": "Courses", + "menu.other.chat": "Chat", + "menu.other.gallery": "Gallery", + "menu.other.article": "Articles", + "menu.other.voting": "Voting", + "menu.other.invoice": "Invoice", + "menu.settings": "Settings", + "menu.pages": "Pages", + "menu.ec": "E-commerce", + "menu.ec.ware": "Ware", + "menu.ec.trade": "Trade", + "menu.file": "File", + "menu.file.docx": "Docx", + "menu.file.xlsx": "Xlsx", + "menu.file.pdf": "Pdf", + "menu.system": "System", + "menu.system.file-manager": "File Manager", + "menu.system.user": "User", + "menu.system.role": "Role", + "menu.system.permission": "Permission", + "menu.system.menu": "Menu", + "menu.system.log": "Log", + "menu.map": "Maps", + "menu.map.google": "Google Maps", + "menu.map.baidu": "Baidu Maps", + "menu.chart": "Charts", + "menu.chart.g2": "G2", + "menu.chart.ngx-charts": "Ngx Charts", + "menu.chart.ngx-trend": "Ngx Trend", + "menu.chart.mermaid": "Mermaid", + "menu.chart.gantt": "Gantt", + "menu.account.lock": "Lock", + "menu.account.login": "Login + Register", + "menu.account.login2": "Login + Register 2", + "menu.account.login3": "Login + Register 3", + "app.sys.menu.list": "Menu List", + "app.sys.menu.root": "Add Root Menu", + "app.sys.permission.list": "Permission List", + "app.sys.permission.root": "Add Root Node", + "layout.pro.user.link.home": "Pro Home", + "layout.pro.user.link.alain": "Alain" +} diff --git a/src/assets/tmp/i18n/es-ES.json b/src/assets/tmp/i18n/es-ES.json new file mode 100644 index 00000000..9b7a0ad5 --- /dev/null +++ b/src/assets/tmp/i18n/es-ES.json @@ -0,0 +1,153 @@ +{ + "menu.search.placeholder": "Buscar personas, archivos, fotos...", + "menu.fullscreen": "Pantalla completa", + "menu.fullscreen.exit": "Salir de pantalla completa", + "menu.clear.local.storage": "Borrar Local Storage", + "menu.lang": "Idioma", + "menu.main": "Navegación Principal", + "menu.dashboard": "Dashboard", + "menu.dashboard.v1": "Por defecto", + "menu.dashboard.analysis": "Análisis", + "menu.dashboard.monitor": "Monitor", + "menu.dashboard.workplace": "Espacio de trabajo", + "menu.shortcut": "Atajo", + "menu.widgets": "Complementos", + "menu.alain": "Alain", + "menu.style": "Estilo", + "menu.style.typography": "Tipografía", + "menu.style.gridmasonry": "Grid Masonry", + "menu.style.colors": "Colores", + "menu.delon": "Delon Lib", + "menu.delon.form": "Formularios Dinámicos", + "menu.delon.table": "Tabla simple", + "menu.delon.util": "Util", + "menu.delon.print": "Imprimir", + "menu.delon.guard": "Guard de Rutas", + "menu.delon.cache": "Cache", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Descargar archivo", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Formulario", + "menu.form.basicform": "Formulario Básico", + "menu.form.stepform": "Formulario en Pasos", + "menu.form.stepform.info": "Step Form(escribir información de transferencia)", + "menu.form.stepform.confirm": "Step Form(confirmar la información de la transferencia)", + "menu.form.stepform.result": "Step Form(terminado)", + "menu.form.advancedform": "Formulario avanzado", + "menu.list": "Lista", + "menu.list.searchtable": "Buscar en la tabla", + "menu.list.basiclist": "Lista Básica", + "menu.list.cardlist": "Lsita de Cartas", + "menu.list.searchlist": "Lista de Búsqueda", + "menu.list.searchlist.articles": "Lista de Búsqueda(artículos)", + "menu.list.searchlist.projects": "Lista de Búsqueda(proyectos)", + "menu.list.searchlist.applications": "Lista de Búsqueda(aplicaciones)", + "menu.profile": "Perfil", + "menu.profile.basic": "Perfil Básico", + "menu.profile.advanced": "Perfil Avanzado", + "menu.result": "Resultado", + "menu.result.success": "Success", + "menu.result.fail": "Fail", + "menu.exception": "Exception", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Cuenta", + "menu.account.center": "Cuenta", + "menu.account.settings": "Configuraciones", + "menu.account.trigger": "Lanzar Error", + "menu.account.logout": "Cerrar sesión", + "menu.more": "Más", + "menu.report": "Reporte", + "menu.report.relation": "Relation Map", + "menu.extras": "Extra", + "menu.extras.helpcenter": "Centro de ayuda", + "menu.extras.settings": "Configuraciones", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan tienda No.{{no}}", + "app.analysis.introduce": "Introduzca", + "app.analysis.total-sales": "Total Ventas", + "app.analysis.day-sales": "Ventas diarias", + "app.analysis.visits": "Visitas", + "app.analysis.visits-trend": "Tendencia de visitas", + "app.analysis.visits-ranking": "Ranking de visitas", + "app.analysis.day-visits": "Visitas Diarias", + "app.analysis.week": "Ratio por Semana", + "app.analysis.day": "Ratio Diario", + "app.analysis.payments": "Pagos", + "app.analysis.conversion-rate": "Tipo de Conversión", + "app.analysis.operational-effect": "Efecto operacional", + "app.analysis.sales-trend": "Tendencia de ventas de las tiendas", + "app.analysis.sales-ranking": "Ranking de ventas", + "app.analysis.all-year": "Todo el Año", + "app.analysis.all-month": "Todo el Mes", + "app.analysis.all-week": "Toda la Semana", + "app.analysis.all-day": "Todos los días", + "app.analysis.search-users": "Buscar Usuarios", + "app.analysis.per-capita-search": "Búsqueda per cápita", + "app.analysis.online-top-search": "Online Top Search", + "app.analysis.the-proportion-of-sales": "The Proportion Of Sales", + "app.analysis.channel.all": "Todos", + "app.analysis.channel.online": "En line", + "app.analysis.channel.stores": "Tiendas", + "app.analysis.sales": "Ventas", + "app.analysis.traffic": "Tráfico", + "app.analysis.table.rank": "Rango", + "app.analysis.table.search-keyword": "Palabra clave", + "app.analysis.table.users": "Usuarios", + "app.analysis.table.weekly-range": "Rango semanal", + "app.monitor.trading-activity": "Actividad comercial en tiempo real", + "app.monitor.total-transactions": "Total de transacciones diarias", + "app.monitor.sales-target": "Tasa de finalización del objetivo de ventas", + "app.monitor.remaining-time": "Tiempo restante de actividad", + "app.monitor.total-transactions-per-second": "Total de transacciones por segundo", + "app.monitor.activity-forecast": "Previsión de actividad", + "app.monitor.efficiency": "Eficiencia", + "app.monitor.ratio": "Ratio", + "app.monitor.proportion-per-category": "Proporción por categoría", + "app.monitor.fast-food": "Comida rápida", + "app.monitor.western-food": "Comida occidental", + "app.monitor.hot-pot": "Estofados", + "app.monitor.waiting-for-implementation": "Esperando una implmentación", + "app.monitor.popular-searches": "Búsquedas populares", + "app.monitor.resource-surplus": "Excedente de recursos", + "app.monitor.fund-surplus": "Superávit del Fondo", + "app.lock": "Bloqueo", + "app.login.message-invalid-credentials": "Nombre de usuario o contraseña no válidos(admin/ant.design)", + "app.login.message-invalid-verification-code": "Código de verificación inválido", + "app.login.tab-login-credentials": "Credenciales", + "app.login.tab-login-mobile": "Número de móvil", + "app.login.remember-me": "Rercuérdame", + "app.login.forgot-password": "¿Ha olvidado su contraseña?", + "app.login.sign-in-with": "Acceder con", + "app.login.signup": "Ingresar", + "app.login.login": "Iniciar de sesión", + "app.register.register": "Registro", + "app.register.get-verification-code": "Obtener código", + "app.register.sign-in": "¿Ya tiene una cuenta?", + "app.register-result.msg": "Cuenta: registrada con {{email}}", + "app.register-result.activation-email": + "El correo electrónico de activación se ha enviado a su dirección de correo electrónico y es válido durante 24 horas. Por favor, inicie sesión en el correo electrónico a tiempo y haga clic en el enlace del correo electrónico para activar la cuenta.", + "app.register-result.back-home": "Volver a la página de inicio", + "app.register-result.view-mailbox": "Ver buzón", + "validation.email.required": "¡Por favor, introduzca su correo electrónico!", + "validation.email.wrong-format": "¡La dirección de correo electrónico tiene un formato incorrecto.!", + "validation.password.required": "¡Por favor, introduzca su contraseña!", + "validation.password.twice": "¡Las contraseñas introducidas no coinciden!", + "validation.password.strength.msg": + "Por favor, introduce al menos 6 caracteres y no utilices contraseñas fáciles de adivinar.", + "validation.password.strength.strong": "Fortaleza: fuerte", + "validation.password.strength.medium": "Fortaleza: medio", + "validation.password.strength.short": "Fortaleza: demasiado corto", + "validation.confirm-password.required": "¡Por favor, Confirme su contraseña!", + "validation.phone-number.required": "¡Por favor, introduzca su número de teléfono!", + "validation.phone-number.wrong-format": "¡Número de teléfono malformado!", + "validation.verification-code.required": "¡Por favor, introduzca el código de verificación!", + "validation.title.required": "Por favor, introduzca un título", + "validation.date.required": "Seleccione la fecha de inicio y de finalización", + "validation.goal.required": "Por favor, introduzca una descripción del objetivo", + "validation.standard.required": "Por favor, introduzca una métrica" +} diff --git a/src/assets/tmp/i18n/fr-FR.json b/src/assets/tmp/i18n/fr-FR.json new file mode 100644 index 00000000..ec05d231 --- /dev/null +++ b/src/assets/tmp/i18n/fr-FR.json @@ -0,0 +1,153 @@ +{ + "menu.search.placeholder": "Rechercher des personnes, des fichiers, des photos ...", + "menu.fullscreen": "Plein écran", + "menu.fullscreen.exit": "Quitter le mode plein écran", + "menu.clear.local.storage": "Effacer le stockage local", + "menu.lang": "Langue", + "menu.main": "Navigation principale", + "menu.dashboard": "Tableau de bord", + "menu.dashboard.v1": "Par défaut", + "menu.dashboard.analysis": "Analyse", + "menu.dashboard.monitor": "Moniteur", + "menu.dashboard.workplace": "Lieu de travail", + "menu.shortcut": "Raccourci", + "menu.widgets": "Widgets", + "menu.alain": "Alain", + "menu.style": "Style", + "menu.style.typography": "Typographie", + "menu.style.gridmasonry": "Grille de maçonnerie", + "menu.style.colors": "Couleurs", + "menu.delon": "Delon Lib", + "menu.delon.form": "Forme dynamique", + "menu.delon.table": "Tableau simple", + "menu.delon.util": "Util", + "menu.delon.print": "Imprimer", + "menu.delon.guard": "Route Guard", + "menu.delon.cache": "Cache", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Télécharger un fichier", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Formulaire", + "menu.form.basicform": "Formulaire de base", + "menu.form.stepform": "Formulaire d'étape", + "menu.form.stepform.info": "Formulaire d'étape (écrire les informations de transfert)", + "menu.form.stepform.confirm": "Formulaire d'étape (confirmer les informations de transfert)", + "menu.form.stepform.result": "Formulaire d'étape (terminé)", + "menu.form.advancedform": "Formulaire avancé", + "menu.list": "Liste", + "menu.list.searchtable": "Rechercher dans la table", + "menu.list.basiclist": "Liste de base", + "menu.list.cardlist": "Liste des cartes", + "menu.list.searchlist": "Liste de recherche", + "menu.list.searchlist.articles": "Liste de recherche (articles)", + "menu.list.searchlist.projects": "Liste de recherche (projets)", + "menu.list.searchlist.applications": "Liste de recherche (applications)", + "menu.profile": "Profil", + "menu.profile.basic": "Profil de base", + "menu.profile.advanced": "Profil avancé", + "menu.result": "Résultat", + "menu.result.success": "Succès", + "menu.result.fail": "Échec", + "menu.exception": "Exception", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Compte", + "menu.account.center": "Centre de comptes", + "menu.account.settings": "Paramètres du compte", + "menu.account.trigger": "Déclenchement des erreurs", + "menu.account.logout": "Déconnexion", + "menu.more": "Plus", + "menu.report": "Rapport", + "menu.report.relation": "Carte des relations", + "menu.extras": "Extra", + "menu.extras.helpcenter": "Centre d'aide", + "menu.extras.settings": "Paramètres", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan No. {{no}} shop", + "app.analysis.introduce": "Introduire", + "app.analysis.total-sales": "Ventes totales", + "app.analysis.day-sales": "Ventes du jour", + "app.analysis.visits": "Visites", + "app.analysis.visits-trend": "Tendance des visites", + "app.analysis.visits-ranking": "Classement des visites", + "app.analysis.day-visites": "Visites d'une journée", + "app.analysis.week": "Ratio hebdomadaire", + "app.analysis.day": "Ratio journalier", + "app.analysis.payments": "Paiements", + "app.analysis.conversion-rate": "Taux de conversion", + "app.analysis.operational-effect": "Operational Effect", + "app.analysis.sales-trend": "Tendance des ventes des magasins", + "app.analysis.sales-ranking": "Classement des ventes", + "app.analysis.all-year": "Toute l'année", + "app.analysis.all-month": "Tout le mois", + "app.analysis.all-week": "Toute la semaine", + "app.analysis.all-day": "Toute la journée", + "app.analysis.search-users": "Rechercher des utilisateurs", + "app.analysis.per-capita-search": "Recherche par capital", + "app.analysis.online-top-search": "Top des recherche en ligne", + "App.analysis.the-proportion-of-sales": "The Proportion Of Sales", + "app.analysis.channel.all": "TOUS", + "app.analysis.channel.online": "En ligne", + "app.analysis.channel.stores": "Magasins", + "app.analysis.sales": "Ventes", + "app.analysis.traffic": "Trafic", + "app.analysis.table.rank": "Rang", + "app.analysis.table.search-keyword": "mot clé", + "app.analysis.table.users": "Utilisateurs", + "app.analysis.table.weekly-range": "Plage hebdomadaire", + "app.monitor.trading-activity": "Activité de trading en temps réel", + "app.monitor.total-transactions": "Total des transactions aujourd'hui", + "app.monitor.sales-target": "Taux d'achèvement de l'objectif de vente", + "app.monitor.remaining-time": "Temps d'activité restant", + "app.monitor.total-transactions-per-second": "Total des transactions par seconde", + "app.monitor.activity-Forecast": "Prévisions d'activité", + "app.monitor.efficiency": "Efficacité", + "app.monitor.ratio": "Ratio", + "app.monitor.proportion-per-category": "Proportion Per Category", + "app.monitor.fast-food": "Restauration rapide", + "app.monitor.western-food": "Cuisine occidentale", + "app.monitor.hot-pot": "Hot pot", + "app.monitor.waiting-for-implementation": "En attente de mise en œuvre", + "app.monitor.popular-recherches": "Recherches populaires", + "app.monitor.resource-surplus": "Surplus de ressources", + "app.monitor.fund-surplus": "Excédent de fonds", + "app.lock": "Verrouiller", + "app.login.message-invalid-credentials": "Nom d'utilisateur ou mot de passe invalide (admin / ant.design)", + "app.login.message-invalid-verification-code": "Code de vérification non valide", + "app.login.tab-login-credentials": "Identifiants", + "app.login.tab-login-mobile": "Numéro de portable", + "app.login.remember-me": "Se souvenir de moi", + "app.login.forgot-password": "Mot de passe oublié?", + "app.login.sign-in-with": "Connectez-vous avec", + "app.login.signup": "Inscription", + "app.login.login": "Connexion", + "app.register.register": "S'inscrire", + "app.register.get-verification-code": "Obtenir le code", + "app.register.sign-in": "Vous avez déjà un compte?", + "app.register-result.msg": "Compte : inscrit avec {{email}}", + "app.register-result.activation-email": + "L'e-mail d'activation a été envoyé à votre adresse e-mail et est valide pendant 24 heures. Veuillez vous connecter à l'e-mail à temps et cliquer sur le lien dans l'e-mail pour activer le compte.", + "app.register-result.back-home": "Retour à l'accueil", + "app.register-result.view-mailbox": "Afficher la boîte aux lettres", + "validation.email.required": "Veuillez entrer votre email!", + "validation.email.wrong-format": "L'adresse e-mail est au mauvais format!", + "validation.password.required": "Veuillez entrer votre mot de passe!", + "validation.password.twice": "Les mots de passe saisis deux fois ne correspondent pas!", + "validation.password.strength.msg": + "Veuillez saisir au moins 6 caractères et n'utilisez pas de mots de passe faciles à deviner.", + "validation.password.strength.strong": "Force: forte", + "validation.password.strength.medium": "Force: moyenne", + "validation.password.strength.short": "Force: trop courte", + "validation.confirm-password.required": "Veuillez confirmer votre mot de passe!", + "validation.phone-number.required": "Veuillez entrer votre numéro de téléphone!", + "validation.phone-number.wrong-format": "Numéro de téléphone incorrect!", + "validation.verification-code.required": "Veuillez saisir le code de vérification!", + "validation.title.required": "Veuillez saisir un titre", + "validation.date.required": "Veuillez sélectionner la date de début et de fin", + "validation.goal.required": "Veuillez saisir une description de l'objectif", + "validation.standard.required": "Veuillez saisir une statistique" +} diff --git a/src/assets/tmp/i18n/hr-HR.json b/src/assets/tmp/i18n/hr-HR.json new file mode 100644 index 00000000..065d3672 --- /dev/null +++ b/src/assets/tmp/i18n/hr-HR.json @@ -0,0 +1,151 @@ +{ + "menu.search.placeholder": "Traži osobe, datoteke, fotografije ...", + "menu.fullscreen": "Puni zaslon", + "menu.fullscreen.exit": "Izađite sa cijelog zaslona", + "menu.clear.local.storage": "Očistite lokalnu pohranu", + "menu.lang": "Jezik", + "menu.main": "Glavna navigacija", + "menu.dashboard": "Ploča", + "menu.dashboard.v1": "Zadano", + "menu.dashboard.analysis": "Analiza", + "menu.dashboard.monitor": "Monitor", + "menu.dashboard.workplace": "Radni prostor", + "menu.shortcut": "Prečica", + "menu.widgets": "Programčić", + "menu.alain": "Alain", + "menu.style": "Stil", + "menu.style.typography": "Tipografija", + "menu.style.gridmasonry": "Mreža", + "menu.style.colors": "Boje", + "menu.delon": "Delon lib", + "menu.delon.form": "Dinamični obrazac", + "menu.delon.table": "Jednostavna tablica", + "menu.delon.util": "Alati", + "menu.delon.print": "Ispis", + "menu.delon.guard": "Stražar rute", + "menu.delon.cache": "Cache", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Preuzmi datoteku", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Obrazac", + "menu.form.basicform": "Osnovni obrazac", + "menu.form.stepform": "Obrazac u koracima", + "menu.form.stepform.info": "Obrazac u koracima (upišite podatke o prijenosu)", + "menu.form.stepform.confirm": "Obrazac u koracima (potvrdite podatke o prijenosu)", + "menu.form.stepform.result": "Obrazac u koracima (završeno)", + "menu.form.advancedform": "Napredni obrazac", + "menu.list": "Popis", + "menu.list.searchtable": "Tablica pretraživanja", + "menu.list.basiclist": "Osnovni popis", + "menu.list.cardlist": "Popis kartica", + "menu.list.searchlist": "Popis pretraživanja", + "menu.list.searchlist.articles": "Popis za pretraživanje (članci)", + "menu.list.searchlist.projects": "Popis za pretraživanje (projekti)", + "menu.list.searchlist.applications": "Popis za pretraživanje (aplikacije)", + "menu.profile": "Profil", + "menu.profile.basic": "Osnovni profil", + "menu.profile.advanced": "Napredni profil", + "menu.result": "Rezultat", + "menu.result.success": "Uspjeh", + "menu.result.fail": "Nauspjeh", + "menu.exception": "Iznimka", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Račun", + "menu.account.center": "Upravljanje računima", + "menu.account.settings": "Postavke računa", + "menu.account.trigger": "Pozovi grešku", + "menu.account.logout": "Odjava", + "menu.more": "Više", + "menu.report": "Izvješće", + "menu.report.relation": "Karta relacija", + "menu.extras": "Dodatno", + "menu.extras.helpcenter": "Centar za pomoć", + "menu.extras.settings": "Postavke", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan br. {{No}} trgovina", + "app.analysis.introduce": "Predstavljanje", + "app.analysis.total-sales": "Totalna rasprodaja", + "app.analysis.day-sales": "Dnevna prodaja", + "app.analysis.visits": "Posjeta", + "app.analysis.visits-trend": "Trend posjeta", + "app.analysis.visits-ranking": "Rangiranje posjeta", + "app.analysis.day-visits": "Dnevne posjete", + "app.analysis.week": "Omjer tjedna", + "app.analysis.day": "Dnevni omjer", + "app.analysis.payments": "Plaćanja", + "app.analysis.conversion-rate": "Stopa", + "app.analysis.operational-effect": "Operativni učinak", + "app.analysis.sales-trend": "Trendova prodaje", + "app.analysis.sales-ranking": "Poredak", + "app.analysis.all-year": "Cijela godina,", + "app.analysis.all-month": "Cijeli mjesec", + "app.analysis.all-week": "Cijeli tjedan", + "app.analysis.all-day": "Cijeli dan", + "app.analysis.search-users": "Pretraživanje korisnika", + "app.analysis.per-capita-search": "Pretraživanje po osobi", + "app.analysis.online-top-search": "Internetska top pretraga", + "app.analysis.the-proportion-of-sales": "Omjer prodaje", + "app.analysis.channel.all": "SVI", + "app.analysis.channel.online": "Aktivni", + "app.analysis.channel.stores": "Trgovine", + "app.analysis.sales": "Prodaja", + "app.analysis.traffic": "Promet", + "app.analysis.table.rank": "Rang", + "app.analysis.table.search-keyword": "Ključna riječ", + "app.analysis.table.users": "Korisnici", + "app.analysis.table.weekly-range": "Tjedno", + "app.monitor.trading-activity": "Aktivnost u realnom vremenu", + "app.monitor.total-transactions": "Ukupno transakcija danas", + "app.monitor.sales-target": "Ciljna stopa prodaje", + "app.monitor.remaining-time": "Preostalo vrijeme aktivnosti", + "app.monitor.total-transactions-per-second": "Ukupno transakcija u sekundi", + "app.monitor.activity-forecast": "Prognoza aktivnosti", + "app.monitor.efficiency": "Učinkovitost", + "app.monitor.ratio": "Omjer", + "app.monitor.proportion-per-category": "Proporcija po kategoriji", + "app.monitor.fast-food": "Brza hrana", + "app.monitor.western-food": "Zapadnjačka hrana", + "app.monitor.hot-pot": "Vrući lonac", + "app.monitor.waiting-for-implementation": "Čekanje na implementaciju", + "app.monitor.popular-searches": "Popularna pretraživanja", + "app.monitor.resource-surplus": "Višak resursa", + "app.monitor.fund-surplus": "Prekomjerni fond", + "app.lock": "Zaključaj", + "app.login.message-invalid-credentials": "Nevažeće korisničko ime ili lozinka ", + "app.login.message-invalid-verification-code": "Nevažeći kontrolni kôd", + "app.login.tab-login-credentials": "Vjerodajnice", + "app.login.tab-login-mobile": "Broj mobitela", + "app.login.remember-me": "Zapamti me", + "app.login.forgot-password": "Zaboravili ste zaporku?", + "app.login.sign-in-with": "Prijava sa", + "app.login.signup": "Registracija", + "app.login.login": "Prijava", + "app.register.register": "Registracija", + "app.register.get-verification-code": "Dohvati kôd", + "app.register.sign-in": "Već imate račun?", + "app.register-result.msg": "Račun registriran na {{email}}", + "app.register-result.activation-email": "Poruka za aktivaciju poslana je na vašu adresu epošte i vrijedi 24 sata. Prijavite se na vrijeme i kliknite poveznicu u epošti da biste aktivirali račun.", + "app.register-result.back-home": "Povratak na naslovnicu", + "app.register-result.view-mailbox": "Prikaži pretinac", + "validation.email.required": "Unesite svoju e-poštu!", + "validation.email.wrong-format": "Adresa e-pošte je u pogrešnom obliku!", + "validation.password.required": "Unesite svoju lozinku!", + "validation.password.twice": "Unesene zaporke se ne podudaraju!", + "validation.password.strength.msg": "Unesite najmanje 6 znakova i ne koristite lozinke koje je lako pogoditi.", + "validation.password.strength.strong": "Jaka ", + "validation.password.strength.medium": "Srednja ", + "validation.password.strength.short": "Slaba ", + "validation.confirm-password.required": "Potvrdite zaporku!", + "validation.phone-number.required": "Unesite svoj telefonski broj!", + "validation.phone-number.wrong-format": "Pogrešan telefonski broj!", + "validation.verification-code.required": "Unesite kontrolni kôd!", + "validation.title.required": "Unesite naslov", + "validation.date.required": "Molimo odaberite datum početka i završetka", + "validation.goal.required": "Unesite opis cilja", + "validation.standard.required": "Unesite mjerni podatak" +} diff --git a/src/assets/tmp/i18n/it-IT.json b/src/assets/tmp/i18n/it-IT.json new file mode 100644 index 00000000..b856aa95 --- /dev/null +++ b/src/assets/tmp/i18n/it-IT.json @@ -0,0 +1,151 @@ +{ + "menu.search.placeholder": "Cerca persone, file, foto…", + "menu.fullscreen": "Schermo intero", + "menu.fullscreen.exit": "Esci dallo schermo intero", + "menu.clear.local.storage": "Cancella memoria locale", + "menu.lang": "Lingua", + "menu.main": "Navigazione principale", + "menu.dashboard": "Pannello di controllo", + "menu.dashboard.v1": "Predefinito", + "menu.dashboard.analysis": "Analisi", + "menu.dashboard.monitor": "Monitor", + "menu.dashboard.workplace": "Luogo di lavoro", + "menu.shortcut": "Scorciatoia", + "menu.widgets": "Widgets", + "menu.alain": "Alain", + "menu.style": "Stile", + "menu.style.typography": "Tipografia", + "menu.style.gridmasonry": "Muratura Griglia", + "menu.style.colors": "Colori", + "menu.delon": "Delon Lib", + "menu.delon.form": "Forma dinamica", + "menu.delon.table": "Tabella semplice", + "menu.delon.util": "Util", + "menu.delon.print": "Stampa", + "menu.delon.guard": "Protezione Percorso", + "menu.delon.cache": "Cache", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Scarica File", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Modulo", + "menu.form.basicform": "Modulo di base", + "menu.form.stepform": "Modulo di fase", + "menu.form.stepform.info": "Modulo di fase (scrivi informazioni del trasferimento)", + "menu.form.stepform.confirm": "Modulo di fase (conferma informazioni del trasferimento)", + "menu.form.stepform.result": "Modulo di fase (terminato)", + "menu.form.advancedform": "Modulo avanzato", + "menu.list": "Elenco", + "menu.list.searchtable": "Cerca tabella", + "menu.list.basiclist": "Elenco di base", + "menu.list.cardlist": "Elenco delle schede", + "menu.list.searchlist": "Cerca elenco", + "menu.list.searchlist.articles": "Cerca elenco (articoli)", + "menu.list.searchlist.projects": "Cerca elenco (progetti)", + "menu.list.searchlist.applications": "Cerca elenco (applicazioni)", + "menu.profile": "Profilo", + "menu.profile.basic": "Profilo di base", + "menu.profile.advanced": "Profilo avanzato", + "menu.result": "Risultato", + "menu.result.success": "Riuscito", + "menu.result.fail": "Fallito", + "menu.exception": "Eccezione", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Account", + "menu.account.center": "Centro Account", + "menu.account.settings": "Impostazioni dell'account", + "menu.account.trigger": "Errore all'attivazione", + "menu.account.logout": "Esci", + "menu.more": "Altro", + "menu.report": "Report", + "menu.report.relation": "Mappa della relazione", + "menu.extras": "Extra", + "menu.extras.helpcenter": "Centro assistenza", + "menu.extras.settings": "Impostazioni", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan N.{{no}} negozio", + "app.analysis.introduce": "Presenta", + "app.analysis.total-sales": "Vendite totali", + "app.analysis.day-sales": "Vendite giornaliere", + "app.analysis.visits": "Visite", + "app.analysis.visits-trend": "Trend visite", + "app.analysis.visits-ranking": "Ranking visite", + "app.analysis.day-visits": "Visite giornaliere", + "app.analysis.week": "Rapporto settimanale", + "app.analysis.day": "Rapporto giornaliero", + "app.analysis.payments": "Pagamenti", + "app.analysis.conversion-rate": "Tasso di conversione", + "app.analysis.operational-effect": "Effetto operativo", + "app.analysis.sales-trend": "Trend vendite del negozio", + "app.analysis.sales-ranking": "Ranking vendite", + "app.analysis.all-year": "Intero Anno", + "app.analysis.all-month": "Intero Messe", + "app.analysis.all-week": "Intero Settimana", + "app.analysis.all-day": "Intero giorno", + "app.analysis.search-users": "Cerca utenti", + "app.analysis.per-capita-search": "Ricerca pro capite", + "app.analysis.online-top-search": "Migliore ricerca online", + "app.analysis.the-proportion-of-sales": "La percentuale di vendite", + "app.analysis.channel.all": "TUTTI", + "app.analysis.channel.online": "Online", + "app.analysis.channel.stores": "Negozi", + "app.analysis.sales": "Vendite", + "app.analysis.traffic": "Traffico", + "app.analysis.table.rank": "Posizione", + "app.analysis.table.search-keyword": "Parola chiave", + "app.analysis.table.users": "Utenti", + "app.analysis.table.weekly-range": "Intervallo settimanale", + "app.monitor.trading-activity": "Attività commerciale in tempo reale", + "app.monitor.total-transactions": "Transazioni totali oggi", + "app.monitor.sales-target": "Tasso di completamento degli obiettivi di vendita", + "app.monitor.remaining-time": "Tempo rimanente di attività", + "app.monitor.total-transactions-per-second": "Transazioni totali al secondo", + "app.monitor.activity-forecast": "Previsioni attività", + "app.monitor.efficiency": "Efficienza", + "app.monitor.ratio": "Rapporto", + "app.monitor.proportion-per-category": "Percentuale per categoria", + "app.monitor.fast-food": "Fast food", + "app.monitor.western-food": "Cibo occidentale", + "app.monitor.hot-pot": "Pentola calda", + "app.monitor.waiting-for-implementation": "In attesa di applicazione", + "app.monitor.popular-searches": "Ricerche popolari", + "app.monitor.resource-surplus": "Eccedenza di risorse", + "app.monitor.fund-surplus": "Eccedenza di fondi", + "app.lock": "Blocca", + "app.login.message-invalid-credentials": "Nome utente o password non validi (admin/ant.design)", + "app.login.message-invalid-verification-code": "Codice di verifica non valido", + "app.login.tab-login-credentials": "Credenziali", + "app.login.tab-login-mobile": "Numero di cellulare", + "app.login.remember-me": "Ricordami", + "app.login.forgot-password": "Hai dimenticato la password?", + "app.login.sign-in-with": "Accedi con", + "app.login.signup": "Registrati", + "app.login.login": "Accedi", + "app.register.register": "Registrati", + "app.register.get-verification-code": "Ottieni codice", + "app.register.sign-in": "Hai già un account?", + "app.register-result.msg": "Account: registrato all'indirizzo {{email}}", + "app.register-result.activation-email": "L'email di attivazione è stata inviata al tuo indirizzo di posta elettronica ed è valida per 24 ore. Accedi all'email in tempo e fai clic sul link per attivare l'account.", + "app.register-result.back-home": "Torna alla home", + "app.register-result.view-mailbox": "Visualizza casella di posta", + "validation.email.required": "Inserisci la tua email!", + "validation.email.wrong-format": "L'indirizzo email è nel formato sbagliato!", + "validation.password.required": "Inserisci la tua password!", + "validation.password.twice": "Le password inserite due volte non corrispondono!", + "validation.password.strength.msg": "Digita almeno 6 caratteri e non utilizzare password facili da intuire.", + "validation.password.strength.strong": "Sicurezza: alta", + "validation.password.strength.medium": "Sicurezza: media", + "validation.password.strength.short": "Sicurezza: troppo breve", + "validation.confirm-password.required": "Conferma la tua password!", + "validation.phone-number.required": "Inserisci il tuo numero di telefono!", + "validation.phone-number.wrong-format": "Numero di telefono non corretto!", + "validation.verification-code.required": "Inserisci il codice di verifica!", + "validation.title.required": "Inserisci un titolo", + "validation.date.required": "Seleziona la data di inizio e di fine", + "validation.goal.required": "Inserisci una descrizione dell'obiettivo", + "validation.standard.required": "Inserisci un parametro" +} diff --git a/src/assets/tmp/i18n/ko-KR.json b/src/assets/tmp/i18n/ko-KR.json new file mode 100644 index 00000000..66d3f0c0 --- /dev/null +++ b/src/assets/tmp/i18n/ko-KR.json @@ -0,0 +1,153 @@ +{ + "menu.search.placeholder": "사람, 파일, 사진 검색...", + "menu.fullscreen": "전체 화면", + "menu.fullscreen.exit": "전체 화면 종료", + "menu.clear.local.storage": "로컬 저장소 지우기", + "menu.lang": "언어", + "menu.main": "기본 탐색", + "menu.dashboard": "대시 보드", + "menu.dashboard.v1": "기본값", + "menu.dashboard.analysis": "분석", + "menu.dashboard.monitor": "모니터", + "menu.dashboard.workplace": "Workplace", + "menu.shortcut": "바로 가기", + "menu.widgets": "위젯", + "menu.alain": "Alain", + "menu.style": "스타일", + "menu.style.typography": "타이포그래피", + "menu.style.gridmasonry": "Grid Masonry", + "menu.style.colors": "색상", + "menu.delon": "Delon 라이브러리", + "menu.delon.form": "다이나믹폼", + "menu.delon.table": "심플테이블", + "menu.delon.util": "유틸", + "menu.delon.print": "출력", + "menu.delon.guard": "라우팅 가드", + "menu.delon.cache": "캐쉬", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "다운로드 파일", + "menu.delon.xlsx": "엑셀", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "양식", + "menu.form.basicform": "기본 양식", + "menu.form.stepform": "단계별 양식", + "menu.form.stepform.info": "단계별 양식(이전 정보 쓰기)", + "menu.form.stepform.confirm": "단계별 양식(전송 정보 확인)", + "menu.form.stepform.result": "단계별 양식(완료)", + "menu.form.advancedform": "고급 양식", + "menu.list": "리스트", + "menu.list.searchtable": "검색 테이블", + "menu.list.basiclist": "리본 리스트", + "menu.list.cardlist": "카드 리스트", + "menu.list.searchlist": "검색 리스트", + "menu.list.searchlist.articles": "검색 리스트(게시글)", + "menu.list.searchlist.projects": "검색 리스트(프로젝트)", + "menu.list.searchlist.applications": "검색 리스트(어플리케이션)", + "menu.profile": "프로필", + "menu.profile.basic": "기본 프로필", + "menu.profile.advanced": "고급 프로필", + "menu.result": "결과", + "menu.result.success": "성공", + "menu.result.fail": "실패", + "menu.exception": "예외", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "계정", + "menu.account.center": "계정 센터", + "menu.account.settings": "계정 설정", + "menu.account.trigger": "트리거 에러", + "menu.account.logout": "로그아웃", + "menu.more": "더 보기", + "menu.report": "보고서", + "menu.report.relation": "연관 맵", + "menu.extras": "확장", + "menu.extras.helpcenter": "도움말 센터", + "menu.extras.settings": "설정", + "menu.extras.poi": "POI", + "app.analysis.test": "공전로 {{no}}번째 가게", + "app.analysis.introduce": "지표설명", + "app.analysis.total-sales": "총 판매", + "app.analysis.day-sales": "일일 판매", + "app.analysis.visits": "방문수", + "app.analysis.visits-trend": "방문자 트랜드", + "app.analysis.visits-ranking": "방문자 랭킹", + "app.analysis.day-visits": "일일 방문수", + "app.analysis.week": "주간", + "app.analysis.day": "일간", + "app.analysis.payments": "지불", + "app.analysis.conversion-rate": "전환율", + "app.analysis.operational-effect": "운영 활동 효과", + "app.analysis.sales-trend": "판매 추세", + "app.analysis.sales-ranking": "판매 랭킹", + "app.analysis.all-year": "올해", + "app.analysis.all-month": "이번달", + "app.analysis.all-week": "이번주", + "app.analysis.all-day": "오늘", + "app.analysis.search-users": "검색 사용자", + "app.analysis.per-capita-search": "1인당 검색", + "app.analysis.online-top-search": "온라인 인기 검색", + "app.analysis.the-proportion-of-sales": "판매 비율", + "app.analysis.channel.all": "모두", + "app.analysis.channel.online": "온라인", + "app.analysis.channel.stores": "상점", + "app.analysis.sales": "판매", + "app.analysis.traffic": "트래픽", + "app.analysis.table.rank": "랭킹", + "app.analysis.table.search-keyword": "키워드", + "app.analysis.table.users": "사용자수", + "app.analysis.table.weekly-range": "주간 범위", + "app.monitor.trading-activity": "실시간 거래 활동", + "app.monitor.total-transactions": "오늘 총 거래액", + "app.monitor.sales-target": "판매 목표 완료율", + "app.monitor.remaining-time": "남은 활동 시간", + "app.monitor.total-transactions-per-second": "초당 총 트랜잭션", + "app.monitor.activity-forecast": "활동 예측", + "app.monitor.efficiency": "능률", + "app.monitor.ratio": "비율", + "app.monitor.proportion-per-category": "카테고리별 비율", + "app.monitor.fast-food": "패스트 푸드", + "app.monitor.western-food": "서양식", + "app.monitor.hot-pot": "냄비", + "app.monitor.waiting-for-implementation": "구현 대기 중", + "app.monitor.popular-searches": "인기 검색", + "app.monitor.resource-surplus": "자원 여분", + "app.monitor.fund-surplus": "보조금 기금 흑자", + "app.lock": "잠금", + "app.login.message-invalid-credentials": "사용자 정보 또는 패스워드가 유효하지 않습니다.(admin/ant.design)", + "app.login.message-invalid-verification-code": "인증 코드가 잘못되었습니다.", + "app.login.tab-login-credentials": "계정 패스워드 로그인", + "app.login.tab-login-mobile": "모바일 번호 로그인", + "app.login.remember-me": "자동 로그인", + "app.login.forgot-password": "비밀번호를 잊어 버렸습니까?", + "app.login.sign-in-with": "다른 방법으로 로그인", + "app.login.signup": "가입", + "app.login.login": "로그인", + "app.register.register": "등록", + "app.register.get-verification-code": "인증코드 받기", + "app.register.sign-in": "기존 계정으로 로그인", + "app.register-result.msg": "{{email}} 으로 계정이 등록 되었습니다.", + "app.register-result.activation-email": + "활성화 이메일은 귀하의 이메일 주소로 발송되었으며 24 시간 동안 유효합니다. 시간내에 해당 이메일에 로그인하고 이메일의 링크를 클릭하여 계정을 활성화하십시오.", + "app.register-result.back-home": "홈으로 가기", + "app.register-result.view-mailbox": "메일 보기", + "validation.email.required": "이메일 정보를 입력하세요.", + "validation.email.wrong-format": "올바른 이메일 주소가 아닙니다.", + "validation.password.required": "패스워드를 입력하세요", + "validation.password.twice": "입력한 패스워드가 2 회 틀렸습니다.", + "validation.password.strength.msg": + "6 자 이상 입력하십시오. 추측하기 쉬운 암호를 사용하지 마십시오.", + "validation.password.strength.strong": "비밀번호 강도: 강력", + "validation.password.strength.medium": "비밀번호 강도: 중간", + "validation.password.strength.short": "비밀번호 강도: 취약", + "validation.confirm-password.required": "암호를 확인하세요.", + "validation.phone-number.required": "전화번호를 입력하세요.", + "validation.phone-number.wrong-format": "올바른 전화번호가 아닙니다.", + "validation.verification-code.required": "인증코드를 입력하세요.", + "validation.title.required": "제목을 입력하세요.", + "validation.date.required": "시작일과 종료일을 선택하세요.", + "validation.goal.required": "목표에 대한 설명을 입력하십시오.", + "validation.standard.required": "측정 항목을 입력하십시오." +} diff --git a/src/assets/tmp/i18n/pl-PL.json b/src/assets/tmp/i18n/pl-PL.json new file mode 100644 index 00000000..9e01bdbe --- /dev/null +++ b/src/assets/tmp/i18n/pl-PL.json @@ -0,0 +1,153 @@ +{ + "menu.search.placeholder": "Szukaj osób, plików, zdjęć...", + "menu.fullscreen": "Pełny ekran", + "menu.fullscreen.exit": "Wyjdź z pełnego ekranu", + "menu.clear.local.storage": "Wyczyść magazyn lokalny", + "menu.lang": "Język", + "menu.main": "Główna nawigacja", + "menu.dashboard": "Dashboard", + "menu.dashboard.v1": "Domyślny", + "menu.dashboard.analysis": "Analityczny", + "menu.dashboard.monitor": "Monitorowanie", + "menu.dashboard.workplace": "Miejsce pracy", + "menu.shortcut": "Skrót", + "menu.widgets": "Widżety", + "menu.alain": "Alain", + "menu.style": "Styl", + "menu.style.typography": "Typografia", + "menu.style.gridmasonry": "Grid Masonry", + "menu.style.colors": "Kolory", + "menu.delon": "Biblioteka Delon", + "menu.delon.form": "Dynamiczne formularze", + "menu.delon.table": "Prosta tabela", + "menu.delon.util": "Narzędzia", + "menu.delon.print": "Drukowanie", + "menu.delon.guard": "Route Guard", + "menu.delon.cache": "Pamięć podręczna", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Pobierz plik", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Formularze", + "menu.form.basicform": "Prosty formularz", + "menu.form.stepform": "Formularz krokowy", + "menu.form.stepform.info": "Step Form(Wprowadź informacje dotyczące przelewu)", + "menu.form.stepform.confirm": "Step Form(Potwierdź informacje o przesyłce)", + "menu.form.stepform.result": "Step Form(Zakończone)", + "menu.form.advancedform": "Zaawnsowany formularz", + "menu.list": "Listy", + "menu.list.searchtable": "Przeszukiwalna tabela", + "menu.list.basiclist": "Prosta lista", + "menu.list.cardlist": "Lista kart", + "menu.list.searchlist": "Listy przeszukiwalne", + "menu.list.searchlist.articles": "Lista przeszukiwalna(artykuły)", + "menu.list.searchlist.projects": "Lista przeszukiwalna(projekty)", + "menu.list.searchlist.applications": "Lista przeszukiwalna(aplikacje)", + "menu.profile": "Profil", + "menu.profile.basic": "Prosty profil", + "menu.profile.advanced": "Zaawansowany profil", + "menu.result": "Wyniki", + "menu.result.success": "Sukces", + "menu.result.fail": "Porażka", + "menu.exception": "Błąd", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Konto", + "menu.account.center": "Centrum konta", + "menu.account.settings": "Ustawienia konta", + "menu.account.trigger": "Błąd wyzwalacza", + "menu.account.logout": "Wyloguj", + "menu.more": "Więcej", + "menu.report": "Raport", + "menu.report.relation": "Relation Map", + "menu.extras": "Ekstra", + "menu.extras.helpcenter": "Centrum pomocy", + "menu.extras.settings": "Ustawienia", + "menu.extras.poi": "POI", + "app.analysis.test": "Sklep przy Gongzhuan No.{{no}}", + "app.analysis.introduce": "Wprowadzenie", + "app.analysis.total-sales": "Sprzedaż ogółem", + "app.analysis.day-sales": "Dzienna sprzedaż", + "app.analysis.visits": "Odwiedzin", + "app.analysis.visits-trend": "Trend odwiedzin", + "app.analysis.visits-ranking": "Ranking odwiedzin", + "app.analysis.day-visits": "Dziennych odwiedzin", + "app.analysis.week": "Współczynnik tygodniowy", + "app.analysis.day": "Współczynnik dzienny", + "app.analysis.payments": "Płatności", + "app.analysis.conversion-rate": "Stopień konwersji", + "app.analysis.operational-effect": "Efekt operacyjny", + "app.analysis.sales-trend": "Trend sprzedaży w sklepach", + "app.analysis.sales-ranking": "Ranking sprzedaży", + "app.analysis.all-year": "Cały rok", + "app.analysis.all-month": "Cały miesiąc", + "app.analysis.all-week": "Cały tydzień", + "app.analysis.all-day": "Cały dzień", + "app.analysis.search-users": "Wyszukających użytkowników", + "app.analysis.per-capita-search": "Wyszukiwań per użytkownik", + "app.analysis.online-top-search": "Najpopularniejsze wyszukiwania online", + "app.analysis.the-proportion-of-sales": "Proporcje sprzedaży", + "app.analysis.channel.all": "WSZYSTKIE", + "app.analysis.channel.online": "Online", + "app.analysis.channel.stores": "Sklepy", + "app.analysis.sales": "Sprzedaż", + "app.analysis.traffic": "Ruch", + "app.analysis.table.rank": "Ranking", + "app.analysis.table.search-keyword": "Słowo kluczowe", + "app.analysis.table.users": "Użytkownicy", + "app.analysis.table.weekly-range": "Zakres tygodniowy", + "app.monitor.trading-activity": "Aktywność handlowa w czasie rzeczywistym", + "app.monitor.total-transactions": "Łączna liczba transakcji dzisiaj", + "app.monitor.sales-target": "Wskaźnik realizacji celu sprzedaży", + "app.monitor.remaining-time": "Pozostały czas aktywności", + "app.monitor.total-transactions-per-second": "Całkowita liczba transakcji na sekundę", + "app.monitor.activity-forecast": "Prognoza aktywności", + "app.monitor.efficiency": "Wydajność", + "app.monitor.ratio": "Współczynnik", + "app.monitor.proportion-per-category": "Proporcje według kategorii", + "app.monitor.fast-food": "Fast food", + "app.monitor.western-food": "Zachodnia kuchnia", + "app.monitor.hot-pot": "Hot pot", + "app.monitor.waiting-for-implementation": "Oczekuje na implementację", + "app.monitor.popular-searches": "Popularne wyszukiwania", + "app.monitor.resource-surplus": "Nadwyżka zasobów", + "app.monitor.fund-surplus": "Nadwyżka funduszu", + "app.lock": "Zablokuj", + "app.login.message-invalid-credentials": "Nieprawidłowa nazwa użytkownika lub hasło(admin/ant.design)", + "app.login.message-invalid-verification-code": "Nieprawidłowy kod weryfikacyjny", + "app.login.tab-login-credentials": "Uprawnienia", + "app.login.tab-login-mobile": "Numer telefonu komórkowego", + "app.login.remember-me": "Zapamiętaj mnie", + "app.login.forgot-password": "Zapomniałeś hasła?", + "app.login.sign-in-with": "Zaloguj się za pomocą", + "app.login.signup": "Zarejestruj się", + "app.login.login": "Logowanie", + "app.register.register": "Rejestracja", + "app.register.get-verification-code": "Pobierz kod", + "app.register.sign-in": "Już masz konto?", + "app.register-result.msg": "Konto:zarejstrowane dla {{email}}", + "app.register-result.activation-email": + "Email aktywacyjny został wysłany na wskazany adres i będzie ważny przez 24 godiny. Proszę, sprawdź swoją pocztę w tym czasie i kliknij na link wskazany w wiadomości aby aktywować konto", + "app.register-result.back-home": "Powróć do strony głównej", + "app.register-result.view-mailbox": "Zobacz skrzynkę odbiorczą", + "validation.email.required": "Proszę podać adres email!", + "validation.email.wrong-format": "Adres email jest w nieprawidłowym formacie!", + "validation.password.required": "Proszę podać swoje hasło!", + "validation.password.twice": "Pierwsze oraz powtórzone hasło nie są identyczne!", + "validation.password.strength.msg": + "Hasło powinno być trudne do odgadnięcia oraz składać się z przynajmniej 6 znaków", + "validation.password.strength.strong": "Siła: mocne", + "validation.password.strength.medium": "Siła: średni", + "validation.password.strength.short": "Siła: zbyt krótkie", + "validation.confirm-password.required": "Proszę, potwierdź swoje hasło!", + "validation.phone-number.required": "Proszę podać numer telefonu komórkowego!", + "validation.phone-number.wrong-format": "Nieprawidłowy numer telefonu!", + "validation.verification-code.required": "Proszę podać kod weryfikacyjny!", + "validation.title.required": "Proszę podać tytuł", + "validation.date.required": "Proszę podać datę początkową i końcową", + "validation.goal.required": "Proszę podać opis dla tego celu", + "validation.standard.required": "Proszę wskazać metrykę" +} diff --git a/src/assets/tmp/i18n/sl-SI.json b/src/assets/tmp/i18n/sl-SI.json new file mode 100644 index 00000000..6b13b589 --- /dev/null +++ b/src/assets/tmp/i18n/sl-SI.json @@ -0,0 +1,151 @@ +{ + "menu.search.placeholder": "Išči ljudi, datoteke, fotografije,...", + "menu.fullscreen": "Celozaslonski način", + "menu.fullscreen.exit": "Zapusti celozaslonski način", + "menu.clear.local.storage": "Izbriši lokalni pomnilnik", + "menu.lang": "Jezik", + "menu.main": "Glavna navigacija", + "menu.dashboard": "Glavni vmesnik", + "menu.dashboard.v1": "Privzeto", + "menu.dashboard.analysis": "Analiza", + "menu.dashboard.monitor": "Monitor", + "menu.dashboard.workplace": "Delovno mesto", + "menu.shortcut": "Bližnjica", + "menu.widgets": "Pripomočki", + "menu.alain": "Alain", + "menu.style": "Slog", + "menu.style.typography": "Pisava", + "menu.style.gridmasonry": "Mreža", + "menu.style.colors": "Barve", + "menu.delon": "Delon Lib", + "menu.delon.form": "Dinamični obrazec", + "menu.delon.table": "Enostavna tabela", + "menu.delon.util": "Pomoč", + "menu.delon.print": "Natisni", + "menu.delon.guard": "Route Guard", + "menu.delon.cache": "Začasni pomnilnik", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Prenesi datoteko", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Obrazec", + "menu.form.basicform": "Osnovni obrazec", + "menu.form.stepform": "Obrazec koraka", + "menu.form.stepform.info": "Obrazec koraka (navedite informacijo za prenos)", + "menu.form.stepform.confirm": "Obrazec koraka (potrdite informacijo za prenos)", + "menu.form.stepform.result": "Obrazec koraka (končano)", + "menu.form.advancedform": "Napredni obrazec", + "menu.list": "Seznam", + "menu.list.searchtable": "Iskalna tabela", + "menu.list.basiclist": "Osnovni seznam", + "menu.list.cardlist": "Kartični seznam", + "menu.list.searchlist": "Išči po seznamu", + "menu.list.searchlist.articles": "Išči po seznamu (članki)", + "menu.list.searchlist.projects": "Išči po seznamu (projekti)", + "menu.list.searchlist.applications": "Išči po seznamu (aplikacije)", + "menu.profile": "Profil", + "menu.profile.basic": "Osnovni profil", + "menu.profile.advanced": "Napredni profil", + "menu.result": "Rezultat", + "menu.result.success": "Uspešno", + "menu.result.fail": "Neuspešno", + "menu.exception": "Izjema", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Račun", + "menu.account.center": "Središče za račun", + "menu.account.settings": "Nastavitve računa", + "menu.account.trigger": "Napaka sprožilca", + "menu.account.logout": "Odjava", + "menu.more": "Več", + "menu.report": "Poročilo", + "menu.report.relation": "Zemljevid relacije", + "menu.extras": "Dodatek", + "menu.extras.helpcenter": "Središče za pomoč", + "menu.extras.settings": "Nastavitve", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan No.{{no}} shop", + "app.analysis.introduce": "Predstavitev", + "app.analysis.total-sales": "Prodaja skupaj", + "app.analysis.day-sales": "Prodaja dnevna", + "app.analysis.visits": "Obiski", + "app.analysis.visits-trend": "Trend obiskov", + "app.analysis.visits-ranking": "Rangiranje obiskov", + "app.analysis.day-visits": "Dnevni obiski", + "app.analysis.week": "Tedensko razmerje", + "app.analysis.day": "Dnevno razmerje", + "app.analysis.payments": "Plačila", + "app.analysis.conversion-rate": "Menjalni tečaj", + "app.analysis.operational-effect": "Operativni učinek", + "app.analysis.sales-trend": "Trend prodaje", + "app.analysis.sales-ranking": "Rangiranje prodaje", + "app.analysis.all-year": "Celotno leto", + "app.analysis.all-month": "Cel mesec", + "app.analysis.all-week": "Cel teden", + "app.analysis.all-day": "Cel dan", + "app.analysis.search-users": "Išči uporabnike", + "app.analysis.per-capita-search": "Iskanje na prebivalca", + "app.analysis.online-top-search": "Spletno iskanje", + "app.analysis.the-proportion-of-sales": "Delež prodaje", + "app.analysis.channel.all": "VSE", + "app.analysis.channel.online": "Splet", + "app.analysis.channel.stores": "Trgovine", + "app.analysis.sales": "Prodaja", + "app.analysis.traffic": "Promet", + "app.analysis.table.rank": "Razvrstitev", + "app.analysis.table.search-keyword": "Ključna beseda", + "app.analysis.table.users": "Uporabniki", + "app.analysis.table.weekly-range": "Tedenski razpon", + "app.monitor.trading-activity": "Analiza trgovanja v realnem času", + "app.monitor.total-transactions": "Skupno število transakcij danes", + "app.monitor.sales-target": "Doseganje prodajnega plana", + "app.monitor.remaining-time": "Preostali čas aktivnosti", + "app.monitor.total-transactions-per-second": "Skupaj transakcij na sekundo", + "app.monitor.activity-forecast": "Napoved aktivnosti", + "app.monitor.efficiency": "Učinkovitost", + "app.monitor.ratio": "Razmerje", + "app.monitor.proportion-per-category": "Razmerje na kategorijo", + "app.monitor.fast-food": "Hitre hrana", + "app.monitor.western-food": "Zahodnjaška hrana", + "app.monitor.hot-pot": "Vroč lonec", + "app.monitor.waiting-for-implementation": "Čaka na izvedbo", + "app.monitor.popular-searches": "Priljubljena iskanja", + "app.monitor.resource-surplus": "Presežek virov", + "app.monitor.fund-surplus": "Presežek sredstev", + "app.lock": "Zakleni", + "app.login.message-invalid-credentials": "Nnapačno uporabniško ime ali geslo", + "app.login.message-invalid-verification-code": "Napačna verifikacijska koda", + "app.login.tab-login-credentials": "Začetnice", + "app.login.tab-login-mobile": "Mobilna številka", + "app.login.remember-me": "Opomni me", + "app.login.forgot-password": "Pozabljeno geslo?", + "app.login.sign-in-with": "Prijavi se kot", + "app.login.signup": "Registracija", + "app.login.login": "Prijava", + "app.register.register": "Prijavi se", + "app.register.get-verification-code": "Pridobi kodo", + "app.register.sign-in": "Že imate račun?", + "app.register-result.msg": "Račun : registriran na {{email}}", + "app.register-result.activation-email": "Aktivacijsko e-poštno sporočilo je bilo poslano na vaš e-poštni naslov in je veljavno 24 ur. Prosimo, da se pravočasno preverite e-pošto in kliknite povezavo v e-poštnem sporočilu, da aktivirate račun.", + "app.register-result.back-home": "Nazaj domov", + "app.register-result.view-mailbox": "Poglej nabiralnik", + "validation.email.required": "Prosim vnesite vaš e-mail", + "validation.email.wrong-format": "e-mail naslov je v napačnem formatu!", + "validation.password.required": "Prosim vnesite vaše geslo!", + "validation.password.twice": "Dvakrat vnesena gesla se ne ujemajo!", + "validation.password.strength.msg": "Vnesite vsaj 6 znakov in ne uporabljajte gesel, ki jih je enostavno uganiti.", + "validation.password.strength.strong": "Jakost: močno", + "validation.password.strength.medium": "Jakost: srednje", + "validation.password.strength.short": "Jakost: prekratko", + "validation.confirm-password.required": "Porsim potrdite vaše geslo!", + "validation.phone-number.required": "Prosim vnesite vašo mobilno številko!", + "validation.phone-number.wrong-format": "Napačna telefonska številka!", + "validation.verification-code.required": "Vnesite kodo za preverjanje", + "validation.title.required": "Prosim vnesite naslov", + "validation.date.required": "Izberite datum začetka in konca", + "validation.goal.required": "Vnesite opis cilja", + "validation.standard.required": "Vnesite meritev" +} diff --git a/src/assets/tmp/i18n/tr-TR.json b/src/assets/tmp/i18n/tr-TR.json new file mode 100644 index 00000000..9abafd72 --- /dev/null +++ b/src/assets/tmp/i18n/tr-TR.json @@ -0,0 +1,153 @@ +{ + "menu.search.placeholder": "Kişileri, dosyaları, fotografları... ara", + "menu.fullscreen": "Tam Ekran", + "menu.fullscreen.exit": "Tam Ekrandan Çık", + "menu.clear.local.storage": "Yerel Depolama Alanını Temizle", + "menu.lang": "Dil", + "menu.main": "Ana Menü", + "menu.dashboard": "Panel", + "menu.dashboard.v1": "Varsayılan", + "menu.dashboard.analysis": "Analiz", + "menu.dashboard.monitor": "İzleme", + "menu.dashboard.workplace": "Çalışma Alanı", + "menu.shortcut": "Kısayol", + "menu.widgets": "Araçlar", + "menu.alain": "Alain", + "menu.style": "Stil", + "menu.style.typography": "Tipografi", + "menu.style.gridmasonry": "Masonry Izgara", + "menu.style.colors": "Renkler", + "menu.delon": "Delon Kütüphanesi", + "menu.delon.form": "Dinamik Form", + "menu.delon.table": "Basit Tablo", + "menu.delon.util": "Faydalı", + "menu.delon.print": "Çıktı", + "menu.delon.guard": "Route Guard", + "menu.delon.cache": "Cache", + "menu.delon.qr": "QR", + "menu.delon.acl": "ACL", + "menu.delon.downfile": "Dosya İndirme", + "menu.delon.xlsx": "Excel", + "menu.delon.zip": "Zip", + "menu.pro": "Antd Pro", + "menu.form": "Form", + "menu.form.basicform": "Temel Form", + "menu.form.stepform": "Step Form", + "menu.form.stepform.info": "Step Form(Transfer bilgisi yazınız)", + "menu.form.stepform.confirm": "Step Form(transfer bilgisini onaylayın)", + "menu.form.stepform.result": "Step Form(tamamlanmış)", + "menu.form.advancedform": "Gelişmiş Form", + "menu.list": "Liste", + "menu.list.searchtable": "Arama Tablo", + "menu.list.basiclist": "Basit Liste", + "menu.list.cardlist": "Kart Listesi", + "menu.list.searchlist": "Arama Listesi", + "menu.list.searchlist.articles": "Arama Listesi(articles)", + "menu.list.searchlist.projects": "Search List(projects)", + "menu.list.searchlist.applications": "Search List(applications)", + "menu.profile": "Profil", + "menu.profile.basic": "Temel Profil", + "menu.profile.advanced": "Gelişmiş Profil", + "menu.result": "Sonuç", + "menu.result.success": "Başarılı", + "menu.result.fail": "Başarısız", + "menu.exception": "İstisna", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "Hesap", + "menu.account.center": "Hesap Center", + "menu.account.settings": "Hesap Ayarları", + "menu.account.trigger": "Tetikleyici Hatası", + "menu.account.logout": "Çıkış Yap", + "menu.more": "Daha", + "menu.report": "Rapor", + "menu.report.relation": "İlişki Haritası", + "menu.extras": "Ekstra", + "menu.extras.helpcenter": "Yardım Merkezi", + "menu.extras.settings": "Ayarlar", + "menu.extras.poi": "Poi", + "app.analysis.test": "Gongzhuan No.{{no}} shop", + "app.analysis.introduce": "Tanıtım", + "app.analysis.total-sales": "Toplam Satışlar", + "app.analysis.day-sales": "Günlük Satışlar", + "app.analysis.visits": "Zirayetçiler", + "app.analysis.visits-trend": "Ziyaretçi Trendi", + "app.analysis.visits-ranking": "Ziyaretçi Sıralaması", + "app.analysis.day-visits": "Günlük Ziyaretler", + "app.analysis.week": "Hafta Oranı", + "app.analysis.day": "Günlük Oran", + "app.analysis.payments": "Ödemeler", + "app.analysis.conversion-rate": "Dönüştüme Oranı", + "app.analysis.operational-effect": "Operational Effect", + "app.analysis.sales-trend": "Mağaza Satış Trendleri", + "app.analysis.sales-ranking": "Satış Sıralaması", + "app.analysis.all-year": "Tüm Yıl", + "app.analysis.all-month": "Tüm Ay", + "app.analysis.all-week": "Tüm Hafta", + "app.analysis.all-day": "Tüm Gün", + "app.analysis.search-users": "Kullanıcıları ara", + "app.analysis.per-capita-search": "Kişi bazlı arama", + "app.analysis.online-top-search": "En İyi Çevrimiçi arama", + "app.analysis.the-proportion-of-sales": "Satışların oranı", + "app.analysis.channel.all": "Herşey", + "app.analysis.channel.online": "Çevrimiçi", + "app.analysis.channel.stores": "Mağazalar", + "app.analysis.sales": "Satış", + "app.analysis.traffic": "Trafik", + "app.analysis.table.rank": "Oran", + "app.analysis.table.search-keyword": "Anahtar Kelime", + "app.analysis.table.users": "Kullanıcılar", + "app.analysis.table.weekly-range": "Haftalık Aralık", + "app.monitor.trading-activity": "Gerçek Zamanlı İşlem Etkinliği", + "app.monitor.total-transactions": "Bügünlük toplam işlem", + "app.monitor.sales-target": "Satış hedeflerini tamamlama oranı", + "app.monitor.remaining-time": "Kalan etkinlik süresi", + "app.monitor.total-transactions-per-second": "Total transactions per second", + "app.monitor.activity-forecast": "Saniye başına toplam işlem", + "app.monitor.efficiency": "Verim", + "app.monitor.ratio": "Oran", + "app.monitor.proportion-per-category": "Kategori başına oran", + "app.monitor.fast-food": "Fast food", + "app.monitor.western-food": "Betı yemeği", + "app.monitor.hot-pot": "Güveç", + "app.monitor.waiting-for-implementation": "Uygulama bekleniyor", + "app.monitor.popular-searches": "Popüler Aramalar", + "app.monitor.resource-surplus": "Kaynak Fazlası", + "app.monitor.fund-surplus": "Fon Fazlası", + "app.lock": "Kilitli", + "app.login.message-invalid-credentials": "Kullanıcı adı veya şifre geçersizdir(admin/ant.design)", + "app.login.message-invalid-verification-code": "Doğrulama kodu geçersizdir", + "app.login.tab-login-credentials": "Kimlik bilgileri", + "app.login.tab-login-mobile": "Telefon numarası", + "app.login.remember-me": "Beni hatırla", + "app.login.forgot-password": "Parolanızı mı unuttunuz?", + "app.login.sign-in-with": "Şununla giriş yapın", + "app.login.signup": "Kaydol", + "app.login.login": "Giriş", + "app.register.register": "Kayıt", + "app.register.get-verification-code": "Kodu al", + "app.register.sign-in": "Hesabınız zaten var ı?", + "app.register-result.msg": "Hesap:{{email}} kayıtlı", + "app.register-result.activation-email": + "Aktivasyon e-postası e-posta adresinize gönderilmiştir ve 24 saat geçerlidir. Lütfen e-postaya zamanında giriş yapın ve hesabı etkinleştirmek için e-postadaki bağlantıya tıklayın.", + "app.register-result.back-home": "Ana sayfaya dön", + "app.register-result.view-mailbox": "Posta kutusunu görüntüle", + "validation.email.required": "Lütfen e-postanızı giriniz!", + "validation.email.wrong-format": "E-posta adresı formatı yanlıştır!", + "validation.password.required": "Lütfen şifrenizi giriniz!", + "validation.password.twice": "Şifre doğrulama eşleşmiyor!", + "validation.password.strength.msg": + "Lütfen en az 6 karakter girin ve tahmin edilmesi kolay şifreler kullanmayın.", + "validation.password.strength.strong": "Şifre Karmaşıklığı: Güçlü", + "validation.password.strength.medium": "Şifre Karmaşıklığı: orta", + "validation.password.strength.short": "Şifre Karmaşıklığı: çok kısa", + "validation.confirm-password.required": "Lütfen şifrenizi doğrulayınız!", + "validation.phone-number.required": "Lütfen telefon numaranızı giriniz!", + "validation.phone-number.wrong-format": "Hatalı telefon numarası!", + "validation.verification-code.required": "Lütfen doğrulama kodunu giriniz!", + "validation.title.required": "Lütfen bir başlık giriniz", + "validation.date.required": "Lütfen başlangıç ve bitiş tarihini seçiniz", + "validation.goal.required": "Lütfen hedef için bir açıklama giriniz", + "validation.standard.required": "Lütfen bir metrik giriniz" +} diff --git a/src/assets/tmp/i18n/zh-CN.json b/src/assets/tmp/i18n/zh-CN.json new file mode 100644 index 00000000..0428ab9b --- /dev/null +++ b/src/assets/tmp/i18n/zh-CN.json @@ -0,0 +1,251 @@ +{ + "menu.search.placeholder": "搜索:员工、文件、照片等", + "menu.fullscreen": "全屏", + "menu.fullscreen.exit": "退出全屏", + "menu.clear.local.storage": "清理本地缓存", + "menu.lang": "语言", + "menu.main": "主导航", + "menu.dashboard": "仪表盘", + "menu.dashboard.v1": "默认页", + "menu.dashboard.analysis": "分析页", + "menu.dashboard.monitor": "监控页", + "menu.dashboard.workplace": "工作台", + "menu.shortcut": "快捷菜单", + "menu.widgets": "小部件", + "menu.alain": "Alain", + "menu.style": "样式", + "menu.style.typography": "字体排印", + "menu.style.gridmasonry": "瀑布流", + "menu.style.colors": "色彩", + "menu.delon": "Delon 类库", + "menu.delon.form": "动态表单", + "menu.delon.table": "简易表格", + "menu.delon.util": "工具集", + "menu.delon.print": "打印", + "menu.delon.guard": "路由守卫", + "menu.delon.cache": "字典缓存", + "menu.delon.qr": "二维码", + "menu.delon.acl": "基于角色访问控制", + "menu.delon.downfile": "下载文件", + "menu.delon.xlsx": "Excel操作", + "menu.delon.zip": "本地解压缩", + "menu.pro": "Antd Pro", + "menu.form": "表单页", + "menu.form.basicform": "基础表单", + "menu.form.stepform": "分步表单", + "menu.form.stepform.info": "分步表单(填写转账信息)", + "menu.form.stepform.confirm": "分步表单(确认转账信息)", + "menu.form.stepform.result": "分步表单(完成)", + "menu.form.advancedform": "高级表单", + "menu.list": "列表页", + "menu.list.searchtable": "查询表格", + "menu.list.basiclist": "标准列表", + "menu.list.cardlist": "卡片列表", + "menu.list.searchlist": "搜索列表", + "menu.list.searchlist.articles": "搜索列表(文章)", + "menu.list.searchlist.projects": "搜索列表(项目)", + "menu.list.searchlist.applications": "搜索列表(应用)", + "menu.profile": "详情页", + "menu.profile.basic": "基础详情页", + "menu.profile.advanced": "高级详情页", + "menu.result": "结果页", + "menu.result.success": "成功页", + "menu.result.fail": "失败页", + "menu.exception": "异常页", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "个人页", + "menu.account.center": "个人中心", + "menu.account.settings": "个人设置", + "menu.account.trigger": "触发错误", + "menu.account.logout": "退出登录", + "menu.more": "更多", + "menu.report": "报表", + "menu.report.relation": "全屏关系图", + "menu.extras": "扩展", + "menu.extras.helpcenter": "帮助中心", + "menu.extras.settings": "设置", + "menu.extras.poi": "门店", + "app.analysis.test": "工专路 {{no}} 号店", + "app.analysis.introduce": "指标说明", + "app.analysis.total-sales": "总销售额", + "app.analysis.day-sales": "日销售额", + "app.analysis.visits": "访问量", + "app.analysis.visits-trend": "访问量趋势", + "app.analysis.visits-ranking": "门店访问量排名", + "app.analysis.day-visits": "日访问量", + "app.analysis.week": "周同比", + "app.analysis.day": "日同比", + "app.analysis.payments": "支付笔数", + "app.analysis.conversion-rate": "转化率", + "app.analysis.operational-effect": "运营活动效果", + "app.analysis.sales-trend": "销售趋势", + "app.analysis.sales-ranking": "门店销售额排名", + "app.analysis.all-year": "全年", + "app.analysis.all-month": "本月", + "app.analysis.all-week": "本周", + "app.analysis.all-day": "今日", + "app.analysis.search-users": "搜索用户数", + "app.analysis.per-capita-search": "人均搜索次数", + "app.analysis.online-top-search": "线上热门搜索", + "app.analysis.the-proportion-of-sales": "销售额类别占比", + "app.analysis.channel.all": "全部渠道", + "app.analysis.channel.online": "线上", + "app.analysis.channel.stores": "门店", + "app.analysis.sales": "销售额", + "app.analysis.traffic": "客流量", + "app.analysis.table.rank": "排名", + "app.analysis.table.search-keyword": "搜索关键词", + "app.analysis.table.users": "用户数", + "app.analysis.table.weekly-range": "周涨幅", + "app.monitor.trading-activity": "活动实时交易情况", + "app.monitor.total-transactions": "今日交易总额", + "app.monitor.sales-target": "销售目标完成率", + "app.monitor.remaining-time": "活动剩余时间", + "app.monitor.total-transactions-per-second": "每秒交易总额", + "app.monitor.activity-forecast": "活动情况预测", + "app.monitor.efficiency": "券核效率", + "app.monitor.ratio": "跳出率", + "app.monitor.proportion-per-category": "各品类占比", + "app.monitor.fast-food": "中式快餐", + "app.monitor.western-food": "西餐", + "app.monitor.hot-pot": "火锅", + "app.monitor.waiting-for-implementation": "等待后期实现", + "app.monitor.popular-searches": "热门搜索", + "app.monitor.resource-surplus": "资源剩余", + "app.monitor.fund-surplus": "补贴资金剩余", + "app.lock": "锁屏", + "app.login.message-invalid-credentials": "账户或密码错误(admin/ant.design)", + "app.login.message-invalid-verification-code": "验证码错误", + "app.login.tab-login-credentials": "账户密码登录", + "app.login.tab-login-mobile": "手机号登录", + "app.login.remember-me": "自动登录", + "app.login.forgot-password": "忘记密码", + "app.login.sign-in-with": "其他登录方式", + "app.login.signup": "注册账户", + "app.login.login": "登录", + "app.register.register": "注册", + "app.register.get-verification-code": "获取验证码", + "app.register.sign-in": "使用已有账户登录", + "app.register-result.msg": "你的账户:{{email}} 注册成功", + "app.register-result.activation-email": "激活邮件已发送到你的邮箱中,邮件有效期为24小时。请及时登录邮箱,点击邮件中的链接激活帐户。", + "app.register-result.back-home": "返回首页", + "app.register-result.view-mailbox": "查看邮箱", + "validation.email.required": "请输入邮箱地址!", + "validation.email.wrong-format": "邮箱地址格式错误!", + "validation.password.required": "请输入密码!", + "validation.password.twice": "两次输入的密码不匹配!", + "validation.password.strength.msg": "请至少输入 6 个字符。请不要使用容易被猜到的密码。", + "validation.password.strength.strong": "强度:强", + "validation.password.strength.medium": "强度:中", + "validation.password.strength.short": "强度:太短", + "validation.confirm-password.required": "请确认密码!", + "validation.phone-number.required": "请输入手机号!", + "validation.phone-number.wrong-format": "手机号格式错误!", + "validation.verification-code.required": "请输入验证码!", + "validation.title.required": "请输入标题", + "validation.date.required": "请选择起止日期", + "validation.goal.required": "请输入目标描述", + "validation.standard.required": "请输入衡量标准", + "common.list": "列表", + "common.add": "添加", + "common.edit": "编辑", + "common.delete": "删除", + "common.no-data": "暂无数据", + "common.captcha-btn.second": "秒", + "common.captcha-btn.send": "发送", + "validation.phone-number": "手机号", + "validation.verification-code": "验证码", + "validation.password": "密码", + "app.setting.pagestyle": "整体风格设置", + "app.setting.pagestyle.dark": "暗色菜单风格", + "app.setting.pagestyle.light": "亮色菜单风格", + "app.setting.content-width": "内容区域宽度", + "app.setting.content-width.fixed": "定宽", + "app.setting.content-width.fluid": "流式", + "app.setting.themecolor": "主题色", + "app.setting.themecolor.dust": "薄暮", + "app.setting.themecolor.volcano": "火山", + "app.setting.themecolor.sunset": "日暮", + "app.setting.themecolor.cyan": "明青", + "app.setting.themecolor.green": "极光绿", + "app.setting.themecolor.daybreak": "拂晓蓝(默认)", + "app.setting.themecolor.geekblue": "极客蓝", + "app.setting.themecolor.purple": "酱紫", + "app.setting.navigationmode": "导航模式", + "app.setting.sidemenu": "侧边菜单布局", + "app.setting.topmenu": "顶部菜单布局", + "app.setting.fixedheader": "固定 Header", + "app.setting.fixedsidebar": "固定侧边菜单", + "app.setting.fixedsidebar.hint": "侧边菜单布局时可配置", + "app.setting.hideheader": "下滑时隐藏 Header", + "app.setting.hideheader.hint": "固定 Header 时可配置", + "app.setting.onlyicon": "只显示图标", + "app.setting.onlyicon.hint": "顶部菜单布局时可配置", + "app.setting.othersettings": "其他设置", + "app.setting.weakmode": "色弱模式", + "app.setting.copy": "拷贝设置", + "app.setting.copyinfo": "拷贝成功,请根据剪切板内容进行替换", + "app.setting.production.hint": "配置栏只在开发环境用于预览,生产环境不会展现,请拷贝后手动修改配置文件", + "app.setting.copy.result": "在 [src/styles/theme.less] 配置以下:\n{{colorVars}}\n\n在 [src/environments/*] 的 pro 配置以下:\nexport const environment = {\n ...\n pro: {\n{{layoutVars}}\n }\n}", + "menu.dashboard.dd": "定制", + "menu.other.calendar": "日历", + "menu.other.calendar.basic": "基本使用", + "menu.other.calendar.list": "列表视图", + "menu.other.calendar.events": "事件开发", + "menu.other.faq": "常见问题", + "menu.other.faq.v1": "常见问题 v1", + "menu.other.faq.v2": "常见问题 v2", + "menu.other.faq.v3": "常见问题 v3", + "menu.other.kanban-board": "看板", + "menu.other.task": "任务", + "menu.other.forum": "论坛", + "menu.other.email": "邮件消息", + "menu.other.project": "项目", + "menu.other.client": "顾客", + "menu.other.contact": "联系人", + "menu.other.pricing": "定价计划", + "menu.other.billing": "账单", + "menu.other.course": "课程", + "menu.other.chat": "聊天窗口", + "menu.other.gallery": "相册", + "menu.other.article": "文章", + "menu.other.voting": "投票", + "menu.other.invoice": "发票", + "menu.settings": "设置", + "menu.pages": "示例", + "menu.ec": "电商", + "menu.ec.ware": "商品", + "menu.ec.trade": "订单", + "menu.file": "文件", + "menu.file.docx": "Docx", + "menu.file.xlsx": "Xlsx", + "menu.file.pdf": "Pdf", + "menu.system": "系统", + "menu.system.file-manager": "文件管理", + "menu.system.user": "员工", + "menu.system.role": "角色", + "menu.system.permission": "权限", + "menu.system.menu": "菜单", + "menu.system.log": "日志", + "menu.map": "地图", + "menu.map.google": "Google地图", + "menu.map.baidu": "Baidu地图", + "menu.chart": "图表", + "menu.chart.g2": "G2", + "menu.chart.ngx-charts": "Ngx Charts", + "menu.chart.ngx-trend": "Ngx Trend", + "menu.chart.mermaid": "Mermaid", + "menu.chart.gantt": "甘特图", + "menu.account.lock": "锁屏", + "menu.account.login": "登录 + 注册", + "menu.account.login2": "登录 + 注册 2", + "menu.account.login3": "登录 + 注册 3", + "app.sys.menu.list": "菜单列表", + "app.sys.menu.root": "添加根目录", + "app.sys.permission.list": "权限列表", + "app.sys.permission.root": "添加根节点", + "layout.pro.user.link.home": "Pro 首页", + "layout.pro.user.link.alain": "Alain Pro" +} diff --git a/src/assets/tmp/i18n/zh-TW.json b/src/assets/tmp/i18n/zh-TW.json new file mode 100644 index 00000000..68c126e3 --- /dev/null +++ b/src/assets/tmp/i18n/zh-TW.json @@ -0,0 +1,251 @@ +{ + "menu.search.placeholder": "搜索:員工、文件、照片等", + "menu.fullscreen": "全屏", + "menu.fullscreen.exit": "退出全屏", + "menu.clear.local.storage": "清理在地緩存", + "menu.lang": "語言", + "menu.main": "主導航", + "menu.dashboard": "儀錶盤", + "menu.dashboard.v1": "默認頁", + "menu.dashboard.analysis": "分析頁", + "menu.dashboard.monitor": "監控頁", + "menu.dashboard.workplace": "工作臺", + "menu.shortcut": "快捷菜單", + "menu.widgets": "小部件", + "menu.alain": "Alain", + "menu.style": "樣式", + "menu.style.typography": "字體排印", + "menu.style.gridmasonry": "瀑佈流", + "menu.style.colors": "色彩", + "menu.delon": "Delon 類庫", + "menu.delon.form": "動態錶單", + "menu.delon.table": "簡易錶格", + "menu.delon.util": "工具集", + "menu.delon.print": "列印", + "menu.delon.guard": "路由守衛", + "menu.delon.cache": "字典緩存", + "menu.delon.qr": "二維碼", + "menu.delon.acl": "基於角色訪問控製", + "menu.delon.downfile": "下載文件", + "menu.delon.xlsx": "Excel操作", + "menu.delon.zip": "在地解壓縮", + "menu.pro": "Antd Pro", + "menu.form": "錶單頁", + "menu.form.basicform": "基礎錶單", + "menu.form.stepform": "分步錶單", + "menu.form.stepform.info": "分步錶單(填寫轉賬信息)", + "menu.form.stepform.confirm": "分步錶單(確認轉賬信息)", + "menu.form.stepform.result": "分步錶單(完成)", + "menu.form.advancedform": "高級錶單", + "menu.list": "列錶頁", + "menu.list.searchtable": "查詢錶格", + "menu.list.basiclist": "標準列錶", + "menu.list.cardlist": "卡片列錶", + "menu.list.searchlist": "搜索列錶", + "menu.list.searchlist.articles": "搜索列錶(文章)", + "menu.list.searchlist.projects": "搜索列錶(項目)", + "menu.list.searchlist.applications": "搜索列錶(應用)", + "menu.profile": "詳情頁", + "menu.profile.basic": "基礎詳情頁", + "menu.profile.advanced": "高級詳情頁", + "menu.result": "結果頁", + "menu.result.success": "成功頁", + "menu.result.fail": "失敗頁", + "menu.exception": "異常頁", + "menu.exception.not-permission": "403", + "menu.exception.not-find": "404", + "menu.exception.server-error": "500", + "menu.account": "個人頁", + "menu.account.center": "個人中心", + "menu.account.settings": "個人設置", + "menu.account.trigger": "觸發錯誤", + "menu.account.logout": "退出登錄", + "menu.more": "更多", + "menu.report": "報錶", + "menu.report.relation": "全屏關係圖", + "menu.extras": "擴展", + "menu.extras.helpcenter": "幫助中心", + "menu.extras.settings": "設置", + "menu.extras.poi": "門店", + "app.analysis.test": "工專路 {{no}} 號店", + "app.analysis.introduce": "指標說明", + "app.analysis.total-sales": "總銷售額", + "app.analysis.day-sales": "日銷售額", + "app.analysis.visits": "訪問量", + "app.analysis.visits-trend": "訪問量趨勢", + "app.analysis.visits-ranking": "門店訪問量排名", + "app.analysis.day-visits": "日訪問量", + "app.analysis.week": "周同比", + "app.analysis.day": "日同比", + "app.analysis.payments": "支付筆數", + "app.analysis.conversion-rate": "轉化率", + "app.analysis.operational-effect": "運營活動效果", + "app.analysis.sales-trend": "銷售趨勢", + "app.analysis.sales-ranking": "門店銷售額排名", + "app.analysis.all-year": "全年", + "app.analysis.all-month": "本月", + "app.analysis.all-week": "本周", + "app.analysis.all-day": "今日", + "app.analysis.search-users": "搜索用戶數", + "app.analysis.per-capita-search": "人均搜索次數", + "app.analysis.online-top-search": "線上熱門搜索", + "app.analysis.the-proportion-of-sales": "銷售額類別佔比", + "app.analysis.channel.all": "全部通路", + "app.analysis.channel.online": "線上", + "app.analysis.channel.stores": "門店", + "app.analysis.sales": "銷售額", + "app.analysis.traffic": "客流量", + "app.analysis.table.rank": "排名", + "app.analysis.table.search-keyword": "搜索關鍵詞", + "app.analysis.table.users": "用戶數", + "app.analysis.table.weekly-range": "周漲幅", + "app.monitor.trading-activity": "活動實時交易情況", + "app.monitor.total-transactions": "今日交易總額", + "app.monitor.sales-target": "銷售目標完成率", + "app.monitor.remaining-time": "活動剩餘時間", + "app.monitor.total-transactions-per-second": "每秒交易總額", + "app.monitor.activity-forecast": "活動情況預測", + "app.monitor.efficiency": "券核效率", + "app.monitor.ratio": "跳出率", + "app.monitor.proportion-per-category": "各品類佔比", + "app.monitor.fast-food": "中式快餐", + "app.monitor.western-food": "西餐", + "app.monitor.hot-pot": "火鍋", + "app.monitor.waiting-for-implementation": "Waiting for implementation", + "app.monitor.popular-searches": "熱門搜索", + "app.monitor.resource-surplus": "資源剩餘", + "app.monitor.fund-surplus": "補貼資金剩餘", + "app.lock": "鎖屏", + "app.login.message-invalid-credentials": "賬戶或密碼錯誤(admin/ant.design)", + "app.login.message-invalid-verification-code": "驗證碼錯誤", + "app.login.tab-login-credentials": "賬戶密碼登錄", + "app.login.tab-login-mobile": "手機號登錄", + "app.login.remember-me": "自動登錄", + "app.login.forgot-password": "忘記密碼", + "app.login.sign-in-with": "其他登錄方式", + "app.login.signup": "註冊賬戶", + "app.login.login": "登錄", + "app.register.register": "註冊", + "app.register.get-verification-code": "獲取驗證碼", + "app.register.sign-in": "使用已有賬戶登錄", + "app.register-result.msg": "妳的賬戶:{{email}} 註冊成功", + "app.register-result.activation-email": "激活郵件已發送到妳的郵箱中,郵件有效期為24小時。請及時登錄郵箱,點擊郵件中的鏈接激活帳戶。", + "app.register-result.back-home": "返回首頁", + "app.register-result.view-mailbox": "檢視郵箱", + "validation.email.required": "請輸入郵箱地址!", + "validation.email.wrong-format": "郵箱地址格式錯誤!", + "validation.password.required": "請輸入密碼!", + "validation.password.twice": "兩次輸入的密碼不匹配!", + "validation.password.strength.msg": "請至少輸入 6 個字符。請不要使用容易被猜到的密碼。", + "validation.password.strength.strong": "強度:強", + "validation.password.strength.medium": "強度:中", + "validation.password.strength.short": "強度:太短", + "validation.confirm-password.required": "請確認密碼!", + "validation.phone-number.required": "請輸入手機號!", + "validation.phone-number.wrong-format": "手機號格式錯誤!", + "validation.verification-code.required": "請輸入驗證碼!", + "validation.title.required": "請輸入標題", + "validation.date.required": "請選擇起止日期", + "validation.goal.required": "請輸入目標描述", + "validation.standard.required": "請輸入衡量標淮", + "common.list": "列錶", + "common.add": "添加", + "common.edit": "編輯", + "common.delete": "刪除", + "common.no-data": "暫無數據", + "common.captcha-btn.second": "秒", + "common.captcha-btn.send": "發送", + "validation.phone-number": "手機號", + "validation.verification-code": "驗證碼", + "validation.password": "密碼", + "app.setting.pagestyle": "整體風格設定", + "app.setting.pagestyle.dark": "暗色菜單風格", + "app.setting.pagestyle.light": "亮色菜單風格", + "app.setting.content-width": "內容區域寬度", + "app.setting.content-width.fixed": "定寬", + "app.setting.content-width.fluid": "流式", + "app.setting.themecolor": "主題色", + "app.setting.themecolor.dust": "薄暮", + "app.setting.themecolor.volcano": "火山", + "app.setting.themecolor.sunset": "日暮", + "app.setting.themecolor.cyan": "明青", + "app.setting.themecolor.green": "極光綠", + "app.setting.themecolor.daybreak": "拂曉藍(預設)", + "app.setting.themecolor.geekblue": "極客藍", + "app.setting.themecolor.purple": "醬紫", + "app.setting.navigationmode": "導航模式", + "app.setting.sidemenu": "側邊菜單佈局", + "app.setting.topmenu": "頂部菜單佈局", + "app.setting.fixedheader": "固定 Header", + "app.setting.fixedsidebar": "固定側邊菜單", + "app.setting.fixedsidebar.hint": "側邊菜單佈局時可配置", + "app.setting.hideheader": "下滑時隱藏 Header", + "app.setting.hideheader.hint": "固定 Header 時可配置", + "app.setting.onlyicon": "隻顯示圖示", + "app.setting.onlyicon.hint": "頂部菜單佈局時可配置", + "app.setting.othersettings": "其他設定", + "app.setting.weakmode": "色弱模式", + "app.setting.copy": "拷貝設定", + "app.setting.copyinfo": "拷貝成功,請根據剪切闆內容進行替換", + "app.setting.production.hint": "配置欄隻在開發環境用於預覽,生産環境不會展現,請拷貝後手動修改配置文件", + "app.setting.copy.result": "在 [src/styles/theme.less] 配置以下:\n{{colorVars}}\n\n在 [src/environments/*] 的 pro 配置以下:\nexport const environment = {\n ...\n pro: {\n{{layoutVars}}\n }\n}", + "menu.dashboard.dd": "定製", + "menu.other.calendar": "日曆", + "menu.other.calendar.basic": "基本使用", + "menu.other.calendar.list": "列錶視圖", + "menu.other.calendar.events": "事件開發", + "menu.other.faq": "常見問題", + "menu.other.faq.v1": "常見問題 v1", + "menu.other.faq.v2": "常見問題 v2", + "menu.other.faq.v3": "常見問題 v3", + "menu.other.kanban-board": "看闆", + "menu.other.task": "任務", + "menu.other.forum": "論壇", + "menu.other.email": "郵件消息", + "menu.other.project": "項目", + "menu.other.client": "顧客", + "menu.other.contact": "聯係人", + "menu.other.pricing": "定價計畫", + "menu.other.billing": "賬單", + "menu.other.course": "課程", + "menu.other.chat": "聊天視窗", + "menu.other.gallery": "相冊", + "menu.other.article": "文章", + "menu.other.voting": "投票", + "menu.other.invoice": "發票", + "menu.settings": "設定", + "menu.pages": "示例", + "menu.ec": "電商", + "menu.ec.ware": "商品", + "menu.ec.trade": "訂單", + "menu.file": "文件", + "menu.file.docx": "Docx", + "menu.file.xlsx": "Xlsx", + "menu.file.pdf": "Pdf", + "menu.system": "係統", + "menu.system.file-manager": "文件管理", + "menu.system.user": "員工", + "menu.system.role": "角色", + "menu.system.permission": "權限", + "menu.system.menu": "菜單", + "menu.system.log": "日誌", + "menu.map": "地圖", + "menu.map.google": "Google地圖", + "menu.map.baidu": "Baidu地圖", + "menu.chart": "圖錶", + "menu.chart.g2": "G2", + "menu.chart.ngx-charts": "Ngx Charts", + "menu.chart.ngx-trend": "Ngx Trend", + "menu.chart.mermaid": "Mermaid", + "menu.chart.gantt": "甘特圖", + "menu.account.lock": "鎖屏", + "menu.account.login": "登入 + 註冊", + "menu.account.login2": "登入 + 註冊 2", + "menu.account.login3": "登入 + 註冊 3", + "app.sys.menu.list": "菜單列錶", + "app.sys.menu.root": "添加根目錄", + "app.sys.permission.list": "權限列錶", + "app.sys.permission.root": "添加根節點", + "layout.pro.user.link.home": "Pro 首頁", + "layout.pro.user.link.alain": "Alain Pro" +} diff --git a/src/assets/tmp/img-big/1.jpg b/src/assets/tmp/img-big/1.jpg new file mode 100644 index 00000000..fb205c13 Binary files /dev/null and b/src/assets/tmp/img-big/1.jpg differ diff --git a/src/assets/tmp/img-big/2.jpg b/src/assets/tmp/img-big/2.jpg new file mode 100644 index 00000000..a3282d63 Binary files /dev/null and b/src/assets/tmp/img-big/2.jpg differ diff --git a/src/assets/tmp/img-big/3.jpg b/src/assets/tmp/img-big/3.jpg new file mode 100644 index 00000000..2ccced74 Binary files /dev/null and b/src/assets/tmp/img-big/3.jpg differ diff --git a/src/assets/tmp/img-big/4.jpg b/src/assets/tmp/img-big/4.jpg new file mode 100644 index 00000000..ae895511 Binary files /dev/null and b/src/assets/tmp/img-big/4.jpg differ diff --git a/src/assets/tmp/img-big/5.jpg b/src/assets/tmp/img-big/5.jpg new file mode 100644 index 00000000..d9455c01 Binary files /dev/null and b/src/assets/tmp/img-big/5.jpg differ diff --git a/src/assets/tmp/img-big/6.jpg b/src/assets/tmp/img-big/6.jpg new file mode 100644 index 00000000..1a7862e7 Binary files /dev/null and b/src/assets/tmp/img-big/6.jpg differ diff --git a/src/assets/tmp/img-big/7.jpg b/src/assets/tmp/img-big/7.jpg new file mode 100644 index 00000000..8bc3c4a3 Binary files /dev/null and b/src/assets/tmp/img-big/7.jpg differ diff --git a/src/assets/tmp/img-big/8.jpg b/src/assets/tmp/img-big/8.jpg new file mode 100644 index 00000000..0b272dec Binary files /dev/null and b/src/assets/tmp/img-big/8.jpg differ diff --git a/src/assets/tmp/img-big/bg-1.jpeg b/src/assets/tmp/img-big/bg-1.jpeg new file mode 100644 index 00000000..d84c8d2b Binary files /dev/null and b/src/assets/tmp/img-big/bg-1.jpeg differ diff --git a/src/assets/tmp/img-big/bg-2.jpeg b/src/assets/tmp/img-big/bg-2.jpeg new file mode 100644 index 00000000..5a1e9754 Binary files /dev/null and b/src/assets/tmp/img-big/bg-2.jpeg differ diff --git a/src/assets/tmp/img/1.png b/src/assets/tmp/img/1.png new file mode 100644 index 00000000..8f6d2d6b Binary files /dev/null and b/src/assets/tmp/img/1.png differ diff --git a/src/assets/tmp/img/2.png b/src/assets/tmp/img/2.png new file mode 100644 index 00000000..a59195e7 Binary files /dev/null and b/src/assets/tmp/img/2.png differ diff --git a/src/assets/tmp/img/3.png b/src/assets/tmp/img/3.png new file mode 100644 index 00000000..b0f9da82 Binary files /dev/null and b/src/assets/tmp/img/3.png differ diff --git a/src/assets/tmp/img/4.png b/src/assets/tmp/img/4.png new file mode 100644 index 00000000..0058dc35 Binary files /dev/null and b/src/assets/tmp/img/4.png differ diff --git a/src/assets/tmp/img/5.png b/src/assets/tmp/img/5.png new file mode 100644 index 00000000..3cccf6a0 Binary files /dev/null and b/src/assets/tmp/img/5.png differ diff --git a/src/assets/tmp/img/6.png b/src/assets/tmp/img/6.png new file mode 100644 index 00000000..58601a0d Binary files /dev/null and b/src/assets/tmp/img/6.png differ diff --git a/src/assets/tmp/img/avatar.jpg b/src/assets/tmp/img/avatar.jpg new file mode 100644 index 00000000..ebc92fbf Binary files /dev/null and b/src/assets/tmp/img/avatar.jpg differ diff --git a/src/assets/tmp/img/bg1.jpg b/src/assets/tmp/img/bg1.jpg new file mode 100644 index 00000000..0c1ae55f Binary files /dev/null and b/src/assets/tmp/img/bg1.jpg differ diff --git a/src/assets/tmp/img/bg10.jpg b/src/assets/tmp/img/bg10.jpg new file mode 100644 index 00000000..9e1c5457 Binary files /dev/null and b/src/assets/tmp/img/bg10.jpg differ diff --git a/src/assets/tmp/img/bg2.jpg b/src/assets/tmp/img/bg2.jpg new file mode 100644 index 00000000..d2de98e2 Binary files /dev/null and b/src/assets/tmp/img/bg2.jpg differ diff --git a/src/assets/tmp/img/bg3.jpg b/src/assets/tmp/img/bg3.jpg new file mode 100644 index 00000000..bb0773a9 Binary files /dev/null and b/src/assets/tmp/img/bg3.jpg differ diff --git a/src/assets/tmp/img/bg4.jpg b/src/assets/tmp/img/bg4.jpg new file mode 100644 index 00000000..7b2fdac2 Binary files /dev/null and b/src/assets/tmp/img/bg4.jpg differ diff --git a/src/assets/tmp/img/bg5.jpg b/src/assets/tmp/img/bg5.jpg new file mode 100644 index 00000000..b56fa755 Binary files /dev/null and b/src/assets/tmp/img/bg5.jpg differ diff --git a/src/assets/tmp/img/bg6.jpg b/src/assets/tmp/img/bg6.jpg new file mode 100644 index 00000000..5774f150 Binary files /dev/null and b/src/assets/tmp/img/bg6.jpg differ diff --git a/src/assets/tmp/img/bg7.jpg b/src/assets/tmp/img/bg7.jpg new file mode 100644 index 00000000..6aac5861 Binary files /dev/null and b/src/assets/tmp/img/bg7.jpg differ diff --git a/src/assets/tmp/img/bg8.jpg b/src/assets/tmp/img/bg8.jpg new file mode 100644 index 00000000..0956df33 Binary files /dev/null and b/src/assets/tmp/img/bg8.jpg differ diff --git a/src/assets/tmp/img/bg9.jpg b/src/assets/tmp/img/bg9.jpg new file mode 100644 index 00000000..1fd12865 Binary files /dev/null and b/src/assets/tmp/img/bg9.jpg differ diff --git a/src/assets/tmp/img/half-float-bg-1.jpg b/src/assets/tmp/img/half-float-bg-1.jpg new file mode 100644 index 00000000..4f0af59c Binary files /dev/null and b/src/assets/tmp/img/half-float-bg-1.jpg differ diff --git a/src/assets/tmp/on-boarding.json b/src/assets/tmp/on-boarding.json new file mode 100644 index 00000000..c1725cbd --- /dev/null +++ b/src/assets/tmp/on-boarding.json @@ -0,0 +1,21 @@ +{ + "$schema": "../../../node_modules/@delon/abc/onboarding/schema.json", + "maskClosable": false, + "items": [ + { + "selectors": ".alain-default__nav li .alain-default__nav-item", + "title": "Click here to switch to shrink main menu", + "lightStyle": "background-color: rgba(255, 255, 255, 0.2)" + }, + { + "selectors": ".alain-default__search", + "title": "You can search for people, file, photos...", + "lightStyle": "background-color: rgba(255, 255, 255, 0.2)" + }, + { + "selectors": ".setting-drawer__handle", + "title": "You can customize your theme", + "lightStyle": "background-color: rgba(255, 255, 255, 0.2)" + } + ] +} diff --git a/src/assets/tmp/pc-code.json b/src/assets/tmp/pc-code.json new file mode 100644 index 00000000..632f7874 --- /dev/null +++ b/src/assets/tmp/pc-code.json @@ -0,0 +1 @@ +[{"code":"11","name":"北京市","children":[{"code":"110101","name":"东城区"},{"code":"110102","name":"西城区"},{"code":"110105","name":"朝阳区"},{"code":"110106","name":"丰台区"},{"code":"110107","name":"石景山区"},{"code":"110108","name":"海淀区"},{"code":"110109","name":"门头沟区"},{"code":"110111","name":"房山区"},{"code":"110112","name":"通州区"},{"code":"110113","name":"顺义区"},{"code":"110114","name":"昌平区"},{"code":"110115","name":"大兴区"},{"code":"110116","name":"怀柔区"},{"code":"110117","name":"平谷区"},{"code":"110118","name":"密云区"},{"code":"110119","name":"延庆区"}]},{"code":"12","name":"天津市","children":[{"code":"120101","name":"和平区"},{"code":"120102","name":"河东区"},{"code":"120103","name":"河西区"},{"code":"120104","name":"南开区"},{"code":"120105","name":"河北区"},{"code":"120106","name":"红桥区"},{"code":"120110","name":"东丽区"},{"code":"120111","name":"西青区"},{"code":"120112","name":"津南区"},{"code":"120113","name":"北辰区"},{"code":"120114","name":"武清区"},{"code":"120115","name":"宝坻区"},{"code":"120116","name":"滨海新区"},{"code":"120117","name":"宁河区"},{"code":"120118","name":"静海区"},{"code":"120119","name":"蓟州区"}]},{"code":"13","name":"河北省","children":[{"code":"1301","name":"石家庄市"},{"code":"1302","name":"唐山市"},{"code":"1303","name":"秦皇岛市"},{"code":"1304","name":"邯郸市"},{"code":"1305","name":"邢台市"},{"code":"1306","name":"保定市"},{"code":"1307","name":"张家口市"},{"code":"1308","name":"承德市"},{"code":"1309","name":"沧州市"},{"code":"1310","name":"廊坊市"},{"code":"1311","name":"衡水市"}]},{"code":"14","name":"山西省","children":[{"code":"1401","name":"太原市"},{"code":"1402","name":"大同市"},{"code":"1403","name":"阳泉市"},{"code":"1404","name":"长治市"},{"code":"1405","name":"晋城市"},{"code":"1406","name":"朔州市"},{"code":"1407","name":"晋中市"},{"code":"1408","name":"运城市"},{"code":"1409","name":"忻州市"},{"code":"1410","name":"临汾市"},{"code":"1411","name":"吕梁市"}]},{"code":"15","name":"内蒙古自治区","children":[{"code":"1501","name":"呼和浩特市"},{"code":"1502","name":"包头市"},{"code":"1503","name":"乌海市"},{"code":"1504","name":"赤峰市"},{"code":"1505","name":"通辽市"},{"code":"1506","name":"鄂尔多斯市"},{"code":"1507","name":"呼伦贝尔市"},{"code":"1508","name":"巴彦淖尔市"},{"code":"1509","name":"乌兰察布市"},{"code":"1522","name":"兴安盟"},{"code":"1525","name":"锡林郭勒盟"},{"code":"1529","name":"阿拉善盟"}]},{"code":"21","name":"辽宁省","children":[{"code":"2101","name":"沈阳市"},{"code":"2102","name":"大连市"},{"code":"2103","name":"鞍山市"},{"code":"2104","name":"抚顺市"},{"code":"2105","name":"本溪市"},{"code":"2106","name":"丹东市"},{"code":"2107","name":"锦州市"},{"code":"2108","name":"营口市"},{"code":"2109","name":"阜新市"},{"code":"2110","name":"辽阳市"},{"code":"2111","name":"盘锦市"},{"code":"2112","name":"铁岭市"},{"code":"2113","name":"朝阳市"},{"code":"2114","name":"葫芦岛市"}]},{"code":"22","name":"吉林省","children":[{"code":"2201","name":"长春市"},{"code":"2202","name":"吉林市"},{"code":"2203","name":"四平市"},{"code":"2204","name":"辽源市"},{"code":"2205","name":"通化市"},{"code":"2206","name":"白山市"},{"code":"2207","name":"松原市"},{"code":"2208","name":"白城市"},{"code":"2224","name":"延边朝鲜族自治州"}]},{"code":"23","name":"黑龙江省","children":[{"code":"2301","name":"哈尔滨市"},{"code":"2302","name":"齐齐哈尔市"},{"code":"2303","name":"鸡西市"},{"code":"2304","name":"鹤岗市"},{"code":"2305","name":"双鸭山市"},{"code":"2306","name":"大庆市"},{"code":"2307","name":"伊春市"},{"code":"2308","name":"佳木斯市"},{"code":"2309","name":"七台河市"},{"code":"2310","name":"牡丹江市"},{"code":"2311","name":"黑河市"},{"code":"2312","name":"绥化市"},{"code":"2327","name":"大兴安岭地区"}]},{"code":"31","name":"上海市","children":[{"code":"310101","name":"黄浦区"},{"code":"310104","name":"徐汇区"},{"code":"310105","name":"长宁区"},{"code":"310106","name":"静安区"},{"code":"310107","name":"普陀区"},{"code":"310109","name":"虹口区"},{"code":"310110","name":"杨浦区"},{"code":"310112","name":"闵行区"},{"code":"310113","name":"宝山区"},{"code":"310114","name":"嘉定区"},{"code":"310115","name":"浦东新区"},{"code":"310116","name":"金山区"},{"code":"310117","name":"松江区"},{"code":"310118","name":"青浦区"},{"code":"310120","name":"奉贤区"},{"code":"310151","name":"崇明区"}]},{"code":"32","name":"江苏省","children":[{"code":"3201","name":"南京市"},{"code":"3202","name":"无锡市"},{"code":"3203","name":"徐州市"},{"code":"3204","name":"常州市"},{"code":"3205","name":"苏州市"},{"code":"3206","name":"南通市"},{"code":"3207","name":"连云港市"},{"code":"3208","name":"淮安市"},{"code":"3209","name":"盐城市"},{"code":"3210","name":"扬州市"},{"code":"3211","name":"镇江市"},{"code":"3212","name":"泰州市"},{"code":"3213","name":"宿迁市"}]},{"code":"33","name":"浙江省","children":[{"code":"3301","name":"杭州市"},{"code":"3302","name":"宁波市"},{"code":"3303","name":"温州市"},{"code":"3304","name":"嘉兴市"},{"code":"3305","name":"湖州市"},{"code":"3306","name":"绍兴市"},{"code":"3307","name":"金华市"},{"code":"3308","name":"衢州市"},{"code":"3309","name":"舟山市"},{"code":"3310","name":"台州市"},{"code":"3311","name":"丽水市"}]},{"code":"34","name":"安徽省","children":[{"code":"3401","name":"合肥市"},{"code":"3402","name":"芜湖市"},{"code":"3403","name":"蚌埠市"},{"code":"3404","name":"淮南市"},{"code":"3405","name":"马鞍山市"},{"code":"3406","name":"淮北市"},{"code":"3407","name":"铜陵市"},{"code":"3408","name":"安庆市"},{"code":"3410","name":"黄山市"},{"code":"3411","name":"滁州市"},{"code":"3412","name":"阜阳市"},{"code":"3413","name":"宿州市"},{"code":"3415","name":"六安市"},{"code":"3416","name":"亳州市"},{"code":"3417","name":"池州市"},{"code":"3418","name":"宣城市"}]},{"code":"35","name":"福建省","children":[{"code":"3501","name":"福州市"},{"code":"3502","name":"厦门市"},{"code":"3503","name":"莆田市"},{"code":"3504","name":"三明市"},{"code":"3505","name":"泉州市"},{"code":"3506","name":"漳州市"},{"code":"3507","name":"南平市"},{"code":"3508","name":"龙岩市"},{"code":"3509","name":"宁德市"}]},{"code":"36","name":"江西省","children":[{"code":"3601","name":"南昌市"},{"code":"3602","name":"景德镇市"},{"code":"3603","name":"萍乡市"},{"code":"3604","name":"九江市"},{"code":"3605","name":"新余市"},{"code":"3606","name":"鹰潭市"},{"code":"3607","name":"赣州市"},{"code":"3608","name":"吉安市"},{"code":"3609","name":"宜春市"},{"code":"3610","name":"抚州市"},{"code":"3611","name":"上饶市"}]},{"code":"37","name":"山东省","children":[{"code":"3701","name":"济南市"},{"code":"3702","name":"青岛市"},{"code":"3703","name":"淄博市"},{"code":"3704","name":"枣庄市"},{"code":"3705","name":"东营市"},{"code":"3706","name":"烟台市"},{"code":"3707","name":"潍坊市"},{"code":"3708","name":"济宁市"},{"code":"3709","name":"泰安市"},{"code":"3710","name":"威海市"},{"code":"3711","name":"日照市"},{"code":"3712","name":"莱芜市"},{"code":"3713","name":"临沂市"},{"code":"3714","name":"德州市"},{"code":"3715","name":"聊城市"},{"code":"3716","name":"滨州市"},{"code":"3717","name":"菏泽市"}]},{"code":"41","name":"河南省","children":[{"code":"4101","name":"郑州市"},{"code":"4102","name":"开封市"},{"code":"4103","name":"洛阳市"},{"code":"4104","name":"平顶山市"},{"code":"4105","name":"安阳市"},{"code":"4106","name":"鹤壁市"},{"code":"4107","name":"新乡市"},{"code":"4108","name":"焦作市"},{"code":"4109","name":"濮阳市"},{"code":"4110","name":"许昌市"},{"code":"4111","name":"漯河市"},{"code":"4112","name":"三门峡市"},{"code":"4113","name":"南阳市"},{"code":"4114","name":"商丘市"},{"code":"4115","name":"信阳市"},{"code":"4116","name":"周口市"},{"code":"4117","name":"驻马店市"},{"code":"419001","name":"济源市"}]},{"code":"42","name":"湖北省","children":[{"code":"4201","name":"武汉市"},{"code":"4202","name":"黄石市"},{"code":"4203","name":"十堰市"},{"code":"4205","name":"宜昌市"},{"code":"4206","name":"襄阳市"},{"code":"4207","name":"鄂州市"},{"code":"4208","name":"荆门市"},{"code":"4209","name":"孝感市"},{"code":"4210","name":"荆州市"},{"code":"4211","name":"黄冈市"},{"code":"4212","name":"咸宁市"},{"code":"4213","name":"随州市"},{"code":"4228","name":"恩施土家族苗族自治州"},{"code":"429004","name":"仙桃市"},{"code":"429005","name":"潜江市"},{"code":"429006","name":"天门市"},{"code":"429021","name":"神农架林区"}]},{"code":"43","name":"湖南省","children":[{"code":"4301","name":"长沙市"},{"code":"4302","name":"株洲市"},{"code":"4303","name":"湘潭市"},{"code":"4304","name":"衡阳市"},{"code":"4305","name":"邵阳市"},{"code":"4306","name":"岳阳市"},{"code":"4307","name":"常德市"},{"code":"4308","name":"张家界市"},{"code":"4309","name":"益阳市"},{"code":"4310","name":"郴州市"},{"code":"4311","name":"永州市"},{"code":"4312","name":"怀化市"},{"code":"4313","name":"娄底市"},{"code":"4331","name":"湘西土家族苗族自治州"}]},{"code":"44","name":"广东省","children":[{"code":"4401","name":"广州市"},{"code":"4402","name":"韶关市"},{"code":"4403","name":"深圳市"},{"code":"4404","name":"珠海市"},{"code":"4405","name":"汕头市"},{"code":"4406","name":"佛山市"},{"code":"4407","name":"江门市"},{"code":"4408","name":"湛江市"},{"code":"4409","name":"茂名市"},{"code":"4412","name":"肇庆市"},{"code":"4413","name":"惠州市"},{"code":"4414","name":"梅州市"},{"code":"4415","name":"汕尾市"},{"code":"4416","name":"河源市"},{"code":"4417","name":"阳江市"},{"code":"4418","name":"清远市"},{"code":"4419","name":"东莞市"},{"code":"4420","name":"中山市"},{"code":"4451","name":"潮州市"},{"code":"4452","name":"揭阳市"},{"code":"4453","name":"云浮市"}]},{"code":"45","name":"广西壮族自治区","children":[{"code":"4501","name":"南宁市"},{"code":"4502","name":"柳州市"},{"code":"4503","name":"桂林市"},{"code":"4504","name":"梧州市"},{"code":"4505","name":"北海市"},{"code":"4506","name":"防城港市"},{"code":"4507","name":"钦州市"},{"code":"4508","name":"贵港市"},{"code":"4509","name":"玉林市"},{"code":"4510","name":"百色市"},{"code":"4511","name":"贺州市"},{"code":"4512","name":"河池市"},{"code":"4513","name":"来宾市"},{"code":"4514","name":"崇左市"}]},{"code":"46","name":"海南省","children":[{"code":"4601","name":"海口市"},{"code":"4602","name":"三亚市"},{"code":"4603","name":"三沙市"},{"code":"4604","name":"儋州市"},{"code":"469001","name":"五指山市"},{"code":"469002","name":"琼海市"},{"code":"469005","name":"文昌市"},{"code":"469006","name":"万宁市"},{"code":"469007","name":"东方市"},{"code":"469021","name":"定安县"},{"code":"469022","name":"屯昌县"},{"code":"469023","name":"澄迈县"},{"code":"469024","name":"临高县"},{"code":"469025","name":"白沙黎族自治县"},{"code":"469026","name":"昌江黎族自治县"},{"code":"469027","name":"乐东黎族自治县"},{"code":"469028","name":"陵水黎族自治县"},{"code":"469029","name":"保亭黎族苗族自治县"},{"code":"469030","name":"琼中黎族苗族自治县"}]},{"code":"50","name":"重庆市","children":[{"code":"500101","name":"万州区"},{"code":"500102","name":"涪陵区"},{"code":"500103","name":"渝中区"},{"code":"500104","name":"大渡口区"},{"code":"500105","name":"江北区"},{"code":"500106","name":"沙坪坝区"},{"code":"500107","name":"九龙坡区"},{"code":"500108","name":"南岸区"},{"code":"500109","name":"北碚区"},{"code":"500110","name":"綦江区"},{"code":"500111","name":"大足区"},{"code":"500112","name":"渝北区"},{"code":"500113","name":"巴南区"},{"code":"500114","name":"黔江区"},{"code":"500115","name":"长寿区"},{"code":"500116","name":"江津区"},{"code":"500117","name":"合川区"},{"code":"500118","name":"永川区"},{"code":"500119","name":"南川区"},{"code":"500120","name":"璧山区"},{"code":"500151","name":"铜梁区"},{"code":"500152","name":"潼南区"},{"code":"500153","name":"荣昌区"},{"code":"500154","name":"开州区"},{"code":"500155","name":"梁平区"},{"code":"500156","name":"武隆区"},{"code":"500229","name":"城口县"},{"code":"500230","name":"丰都县"},{"code":"500231","name":"垫江县"},{"code":"500233","name":"忠县"},{"code":"500235","name":"云阳县"},{"code":"500236","name":"奉节县"},{"code":"500237","name":"巫山县"},{"code":"500238","name":"巫溪县"},{"code":"500240","name":"石柱土家族自治县"},{"code":"500241","name":"秀山土家族苗族自治县"},{"code":"500242","name":"酉阳土家族苗族自治县"},{"code":"500243","name":"彭水苗族土家族自治县"}]},{"code":"51","name":"四川省","children":[{"code":"5101","name":"成都市"},{"code":"5103","name":"自贡市"},{"code":"5104","name":"攀枝花市"},{"code":"5105","name":"泸州市"},{"code":"5106","name":"德阳市"},{"code":"5107","name":"绵阳市"},{"code":"5108","name":"广元市"},{"code":"5109","name":"遂宁市"},{"code":"5110","name":"内江市"},{"code":"5111","name":"乐山市"},{"code":"5113","name":"南充市"},{"code":"5114","name":"眉山市"},{"code":"5115","name":"宜宾市"},{"code":"5116","name":"广安市"},{"code":"5117","name":"达州市"},{"code":"5118","name":"雅安市"},{"code":"5119","name":"巴中市"},{"code":"5120","name":"资阳市"},{"code":"5132","name":"阿坝藏族羌族自治州"},{"code":"5133","name":"甘孜藏族自治州"},{"code":"5134","name":"凉山彝族自治州"}]},{"code":"52","name":"贵州省","children":[{"code":"5201","name":"贵阳市"},{"code":"5202","name":"六盘水市"},{"code":"5203","name":"遵义市"},{"code":"5204","name":"安顺市"},{"code":"5205","name":"毕节市"},{"code":"5206","name":"铜仁市"},{"code":"5223","name":"黔西南布依族苗族自治州"},{"code":"5226","name":"黔东南苗族侗族自治州"},{"code":"5227","name":"黔南布依族苗族自治州"}]},{"code":"53","name":"云南省","children":[{"code":"5301","name":"昆明市"},{"code":"5303","name":"曲靖市"},{"code":"5304","name":"玉溪市"},{"code":"5305","name":"保山市"},{"code":"5306","name":"昭通市"},{"code":"5307","name":"丽江市"},{"code":"5308","name":"普洱市"},{"code":"5309","name":"临沧市"},{"code":"5323","name":"楚雄彝族自治州"},{"code":"5325","name":"红河哈尼族彝族自治州"},{"code":"5326","name":"文山壮族苗族自治州"},{"code":"5328","name":"西双版纳傣族自治州"},{"code":"5329","name":"大理白族自治州"},{"code":"5331","name":"德宏傣族景颇族自治州"},{"code":"5333","name":"怒江傈僳族自治州"},{"code":"5334","name":"迪庆藏族自治州"}]},{"code":"54","name":"西藏自治区","children":[{"code":"5401","name":"拉萨市"},{"code":"5402","name":"日喀则市"},{"code":"5403","name":"昌都市"},{"code":"5404","name":"林芝市"},{"code":"5405","name":"山南市"},{"code":"5424","name":"那曲地区"},{"code":"5425","name":"阿里地区"}]},{"code":"61","name":"陕西省","children":[{"code":"6101","name":"西安市"},{"code":"6102","name":"铜川市"},{"code":"6103","name":"宝鸡市"},{"code":"6104","name":"咸阳市"},{"code":"6105","name":"渭南市"},{"code":"6106","name":"延安市"},{"code":"6107","name":"汉中市"},{"code":"6108","name":"榆林市"},{"code":"6109","name":"安康市"},{"code":"6110","name":"商洛市"}]},{"code":"62","name":"甘肃省","children":[{"code":"6201","name":"兰州市"},{"code":"6202","name":"嘉峪关市"},{"code":"6203","name":"金昌市"},{"code":"6204","name":"白银市"},{"code":"6205","name":"天水市"},{"code":"6206","name":"武威市"},{"code":"6207","name":"张掖市"},{"code":"6208","name":"平凉市"},{"code":"6209","name":"酒泉市"},{"code":"6210","name":"庆阳市"},{"code":"6211","name":"定西市"},{"code":"6212","name":"陇南市"},{"code":"6229","name":"临夏回族自治州"},{"code":"6230","name":"甘南藏族自治州"}]},{"code":"63","name":"青海省","children":[{"code":"6301","name":"西宁市"},{"code":"6302","name":"海东市"},{"code":"6322","name":"海北藏族自治州"},{"code":"6323","name":"黄南藏族自治州"},{"code":"6325","name":"海南藏族自治州"},{"code":"6326","name":"果洛藏族自治州"},{"code":"6327","name":"玉树藏族自治州"},{"code":"6328","name":"海西蒙古族藏族自治州"}]},{"code":"64","name":"宁夏回族自治区","children":[{"code":"6401","name":"银川市"},{"code":"6402","name":"石嘴山市"},{"code":"6403","name":"吴忠市"},{"code":"6404","name":"固原市"},{"code":"6405","name":"中卫市"}]},{"code":"65","name":"新疆维吾尔自治区","children":[{"code":"6501","name":"乌鲁木齐市"},{"code":"6502","name":"克拉玛依市"},{"code":"6504","name":"吐鲁番市"},{"code":"6505","name":"哈密市"},{"code":"6523","name":"昌吉回族自治州"},{"code":"6527","name":"博尔塔拉蒙古自治州"},{"code":"6528","name":"巴音郭楞蒙古自治州"},{"code":"6529","name":"阿克苏地区"},{"code":"6530","name":"克孜勒苏柯尔克孜自治州"},{"code":"6531","name":"喀什地区"},{"code":"6532","name":"和田地区"},{"code":"6540","name":"伊犁哈萨克自治州"},{"code":"6542","name":"塔城地区"},{"code":"6543","name":"阿勒泰地区"},{"code":"659001","name":"石河子市"},{"code":"659002","name":"阿拉尔市"},{"code":"659003","name":"图木舒克市"},{"code":"659004","name":"五家渠市"},{"code":"659006","name":"铁门关市"}]}] \ No newline at end of file diff --git a/src/assets/tmp/pca-code.json b/src/assets/tmp/pca-code.json new file mode 100644 index 00000000..24341af9 --- /dev/null +++ b/src/assets/tmp/pca-code.json @@ -0,0 +1 @@ +[{"code":"11","name":"北京市","children":[{"code":"1101","name":"市辖区","children":[{"code":"110101","name":"东城区"},{"code":"110102","name":"西城区"},{"code":"110105","name":"朝阳区"},{"code":"110106","name":"丰台区"},{"code":"110107","name":"石景山区"},{"code":"110108","name":"海淀区"},{"code":"110109","name":"门头沟区"},{"code":"110111","name":"房山区"},{"code":"110112","name":"通州区"},{"code":"110113","name":"顺义区"},{"code":"110114","name":"昌平区"},{"code":"110115","name":"大兴区"},{"code":"110116","name":"怀柔区"},{"code":"110117","name":"平谷区"},{"code":"110118","name":"密云区"},{"code":"110119","name":"延庆区"}]}]},{"code":"12","name":"天津市","children":[{"code":"1201","name":"市辖区","children":[{"code":"120101","name":"和平区"},{"code":"120102","name":"河东区"},{"code":"120103","name":"河西区"},{"code":"120104","name":"南开区"},{"code":"120105","name":"河北区"},{"code":"120106","name":"红桥区"},{"code":"120110","name":"东丽区"},{"code":"120111","name":"西青区"},{"code":"120112","name":"津南区"},{"code":"120113","name":"北辰区"},{"code":"120114","name":"武清区"},{"code":"120115","name":"宝坻区"},{"code":"120116","name":"滨海新区"},{"code":"120117","name":"宁河区"},{"code":"120118","name":"静海区"},{"code":"120119","name":"蓟州区"}]}]},{"code":"13","name":"河北省","children":[{"code":"1301","name":"石家庄市","children":[{"code":"130102","name":"长安区"},{"code":"130104","name":"桥西区"},{"code":"130105","name":"新华区"},{"code":"130107","name":"井陉矿区"},{"code":"130108","name":"裕华区"},{"code":"130109","name":"藁城区"},{"code":"130110","name":"鹿泉区"},{"code":"130111","name":"栾城区"},{"code":"130121","name":"井陉县"},{"code":"130123","name":"正定县"},{"code":"130125","name":"行唐县"},{"code":"130126","name":"灵寿县"},{"code":"130127","name":"高邑县"},{"code":"130128","name":"深泽县"},{"code":"130129","name":"赞皇县"},{"code":"130130","name":"无极县"},{"code":"130131","name":"平山县"},{"code":"130132","name":"元氏县"},{"code":"130133","name":"赵县"},{"code":"130171","name":"石家庄高新技术产业开发区"},{"code":"130172","name":"石家庄循环化工园区"},{"code":"130181","name":"辛集市"},{"code":"130183","name":"晋州市"},{"code":"130184","name":"新乐市"}]},{"code":"1302","name":"唐山市","children":[{"code":"130202","name":"路南区"},{"code":"130203","name":"路北区"},{"code":"130204","name":"古冶区"},{"code":"130205","name":"开平区"},{"code":"130207","name":"丰南区"},{"code":"130208","name":"丰润区"},{"code":"130209","name":"曹妃甸区"},{"code":"130223","name":"滦县"},{"code":"130224","name":"滦南县"},{"code":"130225","name":"乐亭县"},{"code":"130227","name":"迁西县"},{"code":"130229","name":"玉田县"},{"code":"130271","name":"唐山市芦台经济技术开发区"},{"code":"130272","name":"唐山市汉沽管理区"},{"code":"130273","name":"唐山高新技术产业开发区"},{"code":"130274","name":"河北唐山海港经济开发区"},{"code":"130281","name":"遵化市"},{"code":"130283","name":"迁安市"}]},{"code":"1303","name":"秦皇岛市","children":[{"code":"130302","name":"海港区"},{"code":"130303","name":"山海关区"},{"code":"130304","name":"北戴河区"},{"code":"130306","name":"抚宁区"},{"code":"130321","name":"青龙满族自治县"},{"code":"130322","name":"昌黎县"},{"code":"130324","name":"卢龙县"},{"code":"130371","name":"秦皇岛市经济技术开发区"},{"code":"130372","name":"北戴河新区"}]},{"code":"1304","name":"邯郸市","children":[{"code":"130402","name":"邯山区"},{"code":"130403","name":"丛台区"},{"code":"130404","name":"复兴区"},{"code":"130406","name":"峰峰矿区"},{"code":"130407","name":"肥乡区"},{"code":"130408","name":"永年区"},{"code":"130423","name":"临漳县"},{"code":"130424","name":"成安县"},{"code":"130425","name":"大名县"},{"code":"130426","name":"涉县"},{"code":"130427","name":"磁县"},{"code":"130430","name":"邱县"},{"code":"130431","name":"鸡泽县"},{"code":"130432","name":"广平县"},{"code":"130433","name":"馆陶县"},{"code":"130434","name":"魏县"},{"code":"130435","name":"曲周县"},{"code":"130471","name":"邯郸经济技术开发区"},{"code":"130473","name":"邯郸冀南新区"},{"code":"130481","name":"武安市"}]},{"code":"1305","name":"邢台市","children":[{"code":"130502","name":"桥东区"},{"code":"130503","name":"桥西区"},{"code":"130521","name":"邢台县"},{"code":"130522","name":"临城县"},{"code":"130523","name":"内丘县"},{"code":"130524","name":"柏乡县"},{"code":"130525","name":"隆尧县"},{"code":"130526","name":"任县"},{"code":"130527","name":"南和县"},{"code":"130528","name":"宁晋县"},{"code":"130529","name":"巨鹿县"},{"code":"130530","name":"新河县"},{"code":"130531","name":"广宗县"},{"code":"130532","name":"平乡县"},{"code":"130533","name":"威县"},{"code":"130534","name":"清河县"},{"code":"130535","name":"临西县"},{"code":"130571","name":"河北邢台经济开发区"},{"code":"130581","name":"南宫市"},{"code":"130582","name":"沙河市"}]},{"code":"1306","name":"保定市","children":[{"code":"130602","name":"竞秀区"},{"code":"130606","name":"莲池区"},{"code":"130607","name":"满城区"},{"code":"130608","name":"清苑区"},{"code":"130609","name":"徐水区"},{"code":"130623","name":"涞水县"},{"code":"130624","name":"阜平县"},{"code":"130626","name":"定兴县"},{"code":"130627","name":"唐县"},{"code":"130628","name":"高阳县"},{"code":"130629","name":"容城县"},{"code":"130630","name":"涞源县"},{"code":"130631","name":"望都县"},{"code":"130632","name":"安新县"},{"code":"130633","name":"易县"},{"code":"130634","name":"曲阳县"},{"code":"130635","name":"蠡县"},{"code":"130636","name":"顺平县"},{"code":"130637","name":"博野县"},{"code":"130638","name":"雄县"},{"code":"130671","name":"保定高新技术产业开发区"},{"code":"130672","name":"保定白沟新城"},{"code":"130681","name":"涿州市"},{"code":"130682","name":"定州市"},{"code":"130683","name":"安国市"},{"code":"130684","name":"高碑店市"}]},{"code":"1307","name":"张家口市","children":[{"code":"130702","name":"桥东区"},{"code":"130703","name":"桥西区"},{"code":"130705","name":"宣化区"},{"code":"130706","name":"下花园区"},{"code":"130708","name":"万全区"},{"code":"130709","name":"崇礼区"},{"code":"130722","name":"张北县"},{"code":"130723","name":"康保县"},{"code":"130724","name":"沽源县"},{"code":"130725","name":"尚义县"},{"code":"130726","name":"蔚县"},{"code":"130727","name":"阳原县"},{"code":"130728","name":"怀安县"},{"code":"130730","name":"怀来县"},{"code":"130731","name":"涿鹿县"},{"code":"130732","name":"赤城县"},{"code":"130771","name":"张家口市高新技术产业开发区"},{"code":"130772","name":"张家口市察北管理区"},{"code":"130773","name":"张家口市塞北管理区"}]},{"code":"1308","name":"承德市","children":[{"code":"130802","name":"双桥区"},{"code":"130803","name":"双滦区"},{"code":"130804","name":"鹰手营子矿区"},{"code":"130821","name":"承德县"},{"code":"130822","name":"兴隆县"},{"code":"130824","name":"滦平县"},{"code":"130825","name":"隆化县"},{"code":"130826","name":"丰宁满族自治县"},{"code":"130827","name":"宽城满族自治县"},{"code":"130828","name":"围场满族蒙古族自治县"},{"code":"130871","name":"承德高新技术产业开发区"},{"code":"130881","name":"平泉市"}]},{"code":"1309","name":"沧州市","children":[{"code":"130902","name":"新华区"},{"code":"130903","name":"运河区"},{"code":"130921","name":"沧县"},{"code":"130922","name":"青县"},{"code":"130923","name":"东光县"},{"code":"130924","name":"海兴县"},{"code":"130925","name":"盐山县"},{"code":"130926","name":"肃宁县"},{"code":"130927","name":"南皮县"},{"code":"130928","name":"吴桥县"},{"code":"130929","name":"献县"},{"code":"130930","name":"孟村回族自治县"},{"code":"130971","name":"河北沧州经济开发区"},{"code":"130972","name":"沧州高新技术产业开发区"},{"code":"130973","name":"沧州渤海新区"},{"code":"130981","name":"泊头市"},{"code":"130982","name":"任丘市"},{"code":"130983","name":"黄骅市"},{"code":"130984","name":"河间市"}]},{"code":"1310","name":"廊坊市","children":[{"code":"131002","name":"安次区"},{"code":"131003","name":"广阳区"},{"code":"131022","name":"固安县"},{"code":"131023","name":"永清县"},{"code":"131024","name":"香河县"},{"code":"131025","name":"大城县"},{"code":"131026","name":"文安县"},{"code":"131028","name":"大厂回族自治县"},{"code":"131071","name":"廊坊经济技术开发区"},{"code":"131081","name":"霸州市"},{"code":"131082","name":"三河市"}]},{"code":"1311","name":"衡水市","children":[{"code":"131102","name":"桃城区"},{"code":"131103","name":"冀州区"},{"code":"131121","name":"枣强县"},{"code":"131122","name":"武邑县"},{"code":"131123","name":"武强县"},{"code":"131124","name":"饶阳县"},{"code":"131125","name":"安平县"},{"code":"131126","name":"故城县"},{"code":"131127","name":"景县"},{"code":"131128","name":"阜城县"},{"code":"131171","name":"河北衡水经济开发区"},{"code":"131172","name":"衡水滨湖新区"},{"code":"131182","name":"深州市"}]}]},{"code":"14","name":"山西省","children":[{"code":"1401","name":"太原市","children":[{"code":"140105","name":"小店区"},{"code":"140106","name":"迎泽区"},{"code":"140107","name":"杏花岭区"},{"code":"140108","name":"尖草坪区"},{"code":"140109","name":"万柏林区"},{"code":"140110","name":"晋源区"},{"code":"140121","name":"清徐县"},{"code":"140122","name":"阳曲县"},{"code":"140123","name":"娄烦县"},{"code":"140171","name":"山西转型综合改革示范区"},{"code":"140181","name":"古交市"}]},{"code":"1402","name":"大同市","children":[{"code":"140202","name":"城区"},{"code":"140203","name":"矿区"},{"code":"140211","name":"南郊区"},{"code":"140212","name":"新荣区"},{"code":"140221","name":"阳高县"},{"code":"140222","name":"天镇县"},{"code":"140223","name":"广灵县"},{"code":"140224","name":"灵丘县"},{"code":"140225","name":"浑源县"},{"code":"140226","name":"左云县"},{"code":"140227","name":"大同县"},{"code":"140271","name":"山西大同经济开发区"}]},{"code":"1403","name":"阳泉市","children":[{"code":"140302","name":"城区"},{"code":"140303","name":"矿区"},{"code":"140311","name":"郊区"},{"code":"140321","name":"平定县"},{"code":"140322","name":"盂县"},{"code":"140371","name":"山西阳泉经济开发区"}]},{"code":"1404","name":"长治市","children":[{"code":"140402","name":"城区"},{"code":"140411","name":"郊区"},{"code":"140421","name":"长治县"},{"code":"140423","name":"襄垣县"},{"code":"140424","name":"屯留县"},{"code":"140425","name":"平顺县"},{"code":"140426","name":"黎城县"},{"code":"140427","name":"壶关县"},{"code":"140428","name":"长子县"},{"code":"140429","name":"武乡县"},{"code":"140430","name":"沁县"},{"code":"140431","name":"沁源县"},{"code":"140471","name":"山西长治高新技术产业园区"},{"code":"140481","name":"潞城市"}]},{"code":"1405","name":"晋城市","children":[{"code":"140502","name":"城区"},{"code":"140521","name":"沁水县"},{"code":"140522","name":"阳城县"},{"code":"140524","name":"陵川县"},{"code":"140525","name":"泽州县"},{"code":"140581","name":"高平市"}]},{"code":"1406","name":"朔州市","children":[{"code":"140602","name":"朔城区"},{"code":"140603","name":"平鲁区"},{"code":"140621","name":"山阴县"},{"code":"140622","name":"应县"},{"code":"140623","name":"右玉县"},{"code":"140624","name":"怀仁县"},{"code":"140671","name":"山西朔州经济开发区"}]},{"code":"1407","name":"晋中市","children":[{"code":"140702","name":"榆次区"},{"code":"140721","name":"榆社县"},{"code":"140722","name":"左权县"},{"code":"140723","name":"和顺县"},{"code":"140724","name":"昔阳县"},{"code":"140725","name":"寿阳县"},{"code":"140726","name":"太谷县"},{"code":"140727","name":"祁县"},{"code":"140728","name":"平遥县"},{"code":"140729","name":"灵石县"},{"code":"140781","name":"介休市"}]},{"code":"1408","name":"运城市","children":[{"code":"140802","name":"盐湖区"},{"code":"140821","name":"临猗县"},{"code":"140822","name":"万荣县"},{"code":"140823","name":"闻喜县"},{"code":"140824","name":"稷山县"},{"code":"140825","name":"新绛县"},{"code":"140826","name":"绛县"},{"code":"140827","name":"垣曲县"},{"code":"140828","name":"夏县"},{"code":"140829","name":"平陆县"},{"code":"140830","name":"芮城县"},{"code":"140881","name":"永济市"},{"code":"140882","name":"河津市"}]},{"code":"1409","name":"忻州市","children":[{"code":"140902","name":"忻府区"},{"code":"140921","name":"定襄县"},{"code":"140922","name":"五台县"},{"code":"140923","name":"代县"},{"code":"140924","name":"繁峙县"},{"code":"140925","name":"宁武县"},{"code":"140926","name":"静乐县"},{"code":"140927","name":"神池县"},{"code":"140928","name":"五寨县"},{"code":"140929","name":"岢岚县"},{"code":"140930","name":"河曲县"},{"code":"140931","name":"保德县"},{"code":"140932","name":"偏关县"},{"code":"140971","name":"五台山风景名胜区"},{"code":"140981","name":"原平市"}]},{"code":"1410","name":"临汾市","children":[{"code":"141002","name":"尧都区"},{"code":"141021","name":"曲沃县"},{"code":"141022","name":"翼城县"},{"code":"141023","name":"襄汾县"},{"code":"141024","name":"洪洞县"},{"code":"141025","name":"古县"},{"code":"141026","name":"安泽县"},{"code":"141027","name":"浮山县"},{"code":"141028","name":"吉县"},{"code":"141029","name":"乡宁县"},{"code":"141030","name":"大宁县"},{"code":"141031","name":"隰县"},{"code":"141032","name":"永和县"},{"code":"141033","name":"蒲县"},{"code":"141034","name":"汾西县"},{"code":"141081","name":"侯马市"},{"code":"141082","name":"霍州市"}]},{"code":"1411","name":"吕梁市","children":[{"code":"141102","name":"离石区"},{"code":"141121","name":"文水县"},{"code":"141122","name":"交城县"},{"code":"141123","name":"兴县"},{"code":"141124","name":"临县"},{"code":"141125","name":"柳林县"},{"code":"141126","name":"石楼县"},{"code":"141127","name":"岚县"},{"code":"141128","name":"方山县"},{"code":"141129","name":"中阳县"},{"code":"141130","name":"交口县"},{"code":"141181","name":"孝义市"},{"code":"141182","name":"汾阳市"}]}]},{"code":"15","name":"内蒙古自治区","children":[{"code":"1501","name":"呼和浩特市","children":[{"code":"150102","name":"新城区"},{"code":"150103","name":"回民区"},{"code":"150104","name":"玉泉区"},{"code":"150105","name":"赛罕区"},{"code":"150121","name":"土默特左旗"},{"code":"150122","name":"托克托县"},{"code":"150123","name":"和林格尔县"},{"code":"150124","name":"清水河县"},{"code":"150125","name":"武川县"},{"code":"150171","name":"呼和浩特金海工业园区"},{"code":"150172","name":"呼和浩特经济技术开发区"}]},{"code":"1502","name":"包头市","children":[{"code":"150202","name":"东河区"},{"code":"150203","name":"昆都仑区"},{"code":"150204","name":"青山区"},{"code":"150205","name":"石拐区"},{"code":"150206","name":"白云鄂博矿区"},{"code":"150207","name":"九原区"},{"code":"150221","name":"土默特右旗"},{"code":"150222","name":"固阳县"},{"code":"150223","name":"达尔罕茂明安联合旗"},{"code":"150271","name":"包头稀土高新技术产业开发区"}]},{"code":"1503","name":"乌海市","children":[{"code":"150302","name":"海勃湾区"},{"code":"150303","name":"海南区"},{"code":"150304","name":"乌达区"}]},{"code":"1504","name":"赤峰市","children":[{"code":"150402","name":"红山区"},{"code":"150403","name":"元宝山区"},{"code":"150404","name":"松山区"},{"code":"150421","name":"阿鲁科尔沁旗"},{"code":"150422","name":"巴林左旗"},{"code":"150423","name":"巴林右旗"},{"code":"150424","name":"林西县"},{"code":"150425","name":"克什克腾旗"},{"code":"150426","name":"翁牛特旗"},{"code":"150428","name":"喀喇沁旗"},{"code":"150429","name":"宁城县"},{"code":"150430","name":"敖汉旗"}]},{"code":"1505","name":"通辽市","children":[{"code":"150502","name":"科尔沁区"},{"code":"150521","name":"科尔沁左翼中旗"},{"code":"150522","name":"科尔沁左翼后旗"},{"code":"150523","name":"开鲁县"},{"code":"150524","name":"库伦旗"},{"code":"150525","name":"奈曼旗"},{"code":"150526","name":"扎鲁特旗"},{"code":"150571","name":"通辽经济技术开发区"},{"code":"150581","name":"霍林郭勒市"}]},{"code":"1506","name":"鄂尔多斯市","children":[{"code":"150602","name":"东胜区"},{"code":"150603","name":"康巴什区"},{"code":"150621","name":"达拉特旗"},{"code":"150622","name":"准格尔旗"},{"code":"150623","name":"鄂托克前旗"},{"code":"150624","name":"鄂托克旗"},{"code":"150625","name":"杭锦旗"},{"code":"150626","name":"乌审旗"},{"code":"150627","name":"伊金霍洛旗"}]},{"code":"1507","name":"呼伦贝尔市","children":[{"code":"150702","name":"海拉尔区"},{"code":"150703","name":"扎赉诺尔区"},{"code":"150721","name":"阿荣旗"},{"code":"150722","name":"莫力达瓦达斡尔族自治旗"},{"code":"150723","name":"鄂伦春自治旗"},{"code":"150724","name":"鄂温克族自治旗"},{"code":"150725","name":"陈巴尔虎旗"},{"code":"150726","name":"新巴尔虎左旗"},{"code":"150727","name":"新巴尔虎右旗"},{"code":"150781","name":"满洲里市"},{"code":"150782","name":"牙克石市"},{"code":"150783","name":"扎兰屯市"},{"code":"150784","name":"额尔古纳市"},{"code":"150785","name":"根河市"}]},{"code":"1508","name":"巴彦淖尔市","children":[{"code":"150802","name":"临河区"},{"code":"150821","name":"五原县"},{"code":"150822","name":"磴口县"},{"code":"150823","name":"乌拉特前旗"},{"code":"150824","name":"乌拉特中旗"},{"code":"150825","name":"乌拉特后旗"},{"code":"150826","name":"杭锦后旗"}]},{"code":"1509","name":"乌兰察布市","children":[{"code":"150902","name":"集宁区"},{"code":"150921","name":"卓资县"},{"code":"150922","name":"化德县"},{"code":"150923","name":"商都县"},{"code":"150924","name":"兴和县"},{"code":"150925","name":"凉城县"},{"code":"150926","name":"察哈尔右翼前旗"},{"code":"150927","name":"察哈尔右翼中旗"},{"code":"150928","name":"察哈尔右翼后旗"},{"code":"150929","name":"四子王旗"},{"code":"150981","name":"丰镇市"}]},{"code":"1522","name":"兴安盟","children":[{"code":"152201","name":"乌兰浩特市"},{"code":"152202","name":"阿尔山市"},{"code":"152221","name":"科尔沁右翼前旗"},{"code":"152222","name":"科尔沁右翼中旗"},{"code":"152223","name":"扎赉特旗"},{"code":"152224","name":"突泉县"}]},{"code":"1525","name":"锡林郭勒盟","children":[{"code":"152501","name":"二连浩特市"},{"code":"152502","name":"锡林浩特市"},{"code":"152522","name":"阿巴嘎旗"},{"code":"152523","name":"苏尼特左旗"},{"code":"152524","name":"苏尼特右旗"},{"code":"152525","name":"东乌珠穆沁旗"},{"code":"152526","name":"西乌珠穆沁旗"},{"code":"152527","name":"太仆寺旗"},{"code":"152528","name":"镶黄旗"},{"code":"152529","name":"正镶白旗"},{"code":"152530","name":"正蓝旗"},{"code":"152531","name":"多伦县"},{"code":"152571","name":"乌拉盖管委会"}]},{"code":"1529","name":"阿拉善盟","children":[{"code":"152921","name":"阿拉善左旗"},{"code":"152922","name":"阿拉善右旗"},{"code":"152923","name":"额济纳旗"},{"code":"152971","name":"内蒙古阿拉善经济开发区"}]}]},{"code":"21","name":"辽宁省","children":[{"code":"2101","name":"沈阳市","children":[{"code":"210102","name":"和平区"},{"code":"210103","name":"沈河区"},{"code":"210104","name":"大东区"},{"code":"210105","name":"皇姑区"},{"code":"210106","name":"铁西区"},{"code":"210111","name":"苏家屯区"},{"code":"210112","name":"浑南区"},{"code":"210113","name":"沈北新区"},{"code":"210114","name":"于洪区"},{"code":"210115","name":"辽中区"},{"code":"210123","name":"康平县"},{"code":"210124","name":"法库县"},{"code":"210181","name":"新民市"}]},{"code":"2102","name":"大连市","children":[{"code":"210202","name":"中山区"},{"code":"210203","name":"西岗区"},{"code":"210204","name":"沙河口区"},{"code":"210211","name":"甘井子区"},{"code":"210212","name":"旅顺口区"},{"code":"210213","name":"金州区"},{"code":"210214","name":"普兰店区"},{"code":"210224","name":"长海县"},{"code":"210281","name":"瓦房店市"},{"code":"210283","name":"庄河市"}]},{"code":"2103","name":"鞍山市","children":[{"code":"210302","name":"铁东区"},{"code":"210303","name":"铁西区"},{"code":"210304","name":"立山区"},{"code":"210311","name":"千山区"},{"code":"210321","name":"台安县"},{"code":"210323","name":"岫岩满族自治县"},{"code":"210381","name":"海城市"}]},{"code":"2104","name":"抚顺市","children":[{"code":"210402","name":"新抚区"},{"code":"210403","name":"东洲区"},{"code":"210404","name":"望花区"},{"code":"210411","name":"顺城区"},{"code":"210421","name":"抚顺县"},{"code":"210422","name":"新宾满族自治县"},{"code":"210423","name":"清原满族自治县"}]},{"code":"2105","name":"本溪市","children":[{"code":"210502","name":"平山区"},{"code":"210503","name":"溪湖区"},{"code":"210504","name":"明山区"},{"code":"210505","name":"南芬区"},{"code":"210521","name":"本溪满族自治县"},{"code":"210522","name":"桓仁满族自治县"}]},{"code":"2106","name":"丹东市","children":[{"code":"210602","name":"元宝区"},{"code":"210603","name":"振兴区"},{"code":"210604","name":"振安区"},{"code":"210624","name":"宽甸满族自治县"},{"code":"210681","name":"东港市"},{"code":"210682","name":"凤城市"}]},{"code":"2107","name":"锦州市","children":[{"code":"210702","name":"古塔区"},{"code":"210703","name":"凌河区"},{"code":"210711","name":"太和区"},{"code":"210726","name":"黑山县"},{"code":"210727","name":"义县"},{"code":"210781","name":"凌海市"},{"code":"210782","name":"北镇市"}]},{"code":"2108","name":"营口市","children":[{"code":"210802","name":"站前区"},{"code":"210803","name":"西市区"},{"code":"210804","name":"鲅鱼圈区"},{"code":"210811","name":"老边区"},{"code":"210881","name":"盖州市"},{"code":"210882","name":"大石桥市"}]},{"code":"2109","name":"阜新市","children":[{"code":"210902","name":"海州区"},{"code":"210903","name":"新邱区"},{"code":"210904","name":"太平区"},{"code":"210905","name":"清河门区"},{"code":"210911","name":"细河区"},{"code":"210921","name":"阜新蒙古族自治县"},{"code":"210922","name":"彰武县"}]},{"code":"2110","name":"辽阳市","children":[{"code":"211002","name":"白塔区"},{"code":"211003","name":"文圣区"},{"code":"211004","name":"宏伟区"},{"code":"211005","name":"弓长岭区"},{"code":"211011","name":"太子河区"},{"code":"211021","name":"辽阳县"},{"code":"211081","name":"灯塔市"}]},{"code":"2111","name":"盘锦市","children":[{"code":"211102","name":"双台子区"},{"code":"211103","name":"兴隆台区"},{"code":"211104","name":"大洼区"},{"code":"211122","name":"盘山县"}]},{"code":"2112","name":"铁岭市","children":[{"code":"211202","name":"银州区"},{"code":"211204","name":"清河区"},{"code":"211221","name":"铁岭县"},{"code":"211223","name":"西丰县"},{"code":"211224","name":"昌图县"},{"code":"211281","name":"调兵山市"},{"code":"211282","name":"开原市"}]},{"code":"2113","name":"朝阳市","children":[{"code":"211302","name":"双塔区"},{"code":"211303","name":"龙城区"},{"code":"211321","name":"朝阳县"},{"code":"211322","name":"建平县"},{"code":"211324","name":"喀喇沁左翼蒙古族自治县"},{"code":"211381","name":"北票市"},{"code":"211382","name":"凌源市"}]},{"code":"2114","name":"葫芦岛市","children":[{"code":"211402","name":"连山区"},{"code":"211403","name":"龙港区"},{"code":"211404","name":"南票区"},{"code":"211421","name":"绥中县"},{"code":"211422","name":"建昌县"},{"code":"211481","name":"兴城市"}]}]},{"code":"22","name":"吉林省","children":[{"code":"2201","name":"长春市","children":[{"code":"220102","name":"南关区"},{"code":"220103","name":"宽城区"},{"code":"220104","name":"朝阳区"},{"code":"220105","name":"二道区"},{"code":"220106","name":"绿园区"},{"code":"220112","name":"双阳区"},{"code":"220113","name":"九台区"},{"code":"220122","name":"农安县"},{"code":"220171","name":"长春经济技术开发区"},{"code":"220172","name":"长春净月高新技术产业开发区"},{"code":"220173","name":"长春高新技术产业开发区"},{"code":"220174","name":"长春汽车经济技术开发区"},{"code":"220182","name":"榆树市"},{"code":"220183","name":"德惠市"}]},{"code":"2202","name":"吉林市","children":[{"code":"220202","name":"昌邑区"},{"code":"220203","name":"龙潭区"},{"code":"220204","name":"船营区"},{"code":"220211","name":"丰满区"},{"code":"220221","name":"永吉县"},{"code":"220271","name":"吉林经济开发区"},{"code":"220272","name":"吉林高新技术产业开发区"},{"code":"220273","name":"吉林中国新加坡食品区"},{"code":"220281","name":"蛟河市"},{"code":"220282","name":"桦甸市"},{"code":"220283","name":"舒兰市"},{"code":"220284","name":"磐石市"}]},{"code":"2203","name":"四平市","children":[{"code":"220302","name":"铁西区"},{"code":"220303","name":"铁东区"},{"code":"220322","name":"梨树县"},{"code":"220323","name":"伊通满族自治县"},{"code":"220381","name":"公主岭市"},{"code":"220382","name":"双辽市"}]},{"code":"2204","name":"辽源市","children":[{"code":"220402","name":"龙山区"},{"code":"220403","name":"西安区"},{"code":"220421","name":"东丰县"},{"code":"220422","name":"东辽县"}]},{"code":"2205","name":"通化市","children":[{"code":"220502","name":"东昌区"},{"code":"220503","name":"二道江区"},{"code":"220521","name":"通化县"},{"code":"220523","name":"辉南县"},{"code":"220524","name":"柳河县"},{"code":"220581","name":"梅河口市"},{"code":"220582","name":"集安市"}]},{"code":"2206","name":"白山市","children":[{"code":"220602","name":"浑江区"},{"code":"220605","name":"江源区"},{"code":"220621","name":"抚松县"},{"code":"220622","name":"靖宇县"},{"code":"220623","name":"长白朝鲜族自治县"},{"code":"220681","name":"临江市"}]},{"code":"2207","name":"松原市","children":[{"code":"220702","name":"宁江区"},{"code":"220721","name":"前郭尔罗斯蒙古族自治县"},{"code":"220722","name":"长岭县"},{"code":"220723","name":"乾安县"},{"code":"220771","name":"吉林松原经济开发区"},{"code":"220781","name":"扶余市"}]},{"code":"2208","name":"白城市","children":[{"code":"220802","name":"洮北区"},{"code":"220821","name":"镇赉县"},{"code":"220822","name":"通榆县"},{"code":"220871","name":"吉林白城经济开发区"},{"code":"220881","name":"洮南市"},{"code":"220882","name":"大安市"}]},{"code":"2224","name":"延边朝鲜族自治州","children":[{"code":"222401","name":"延吉市"},{"code":"222402","name":"图们市"},{"code":"222403","name":"敦化市"},{"code":"222404","name":"珲春市"},{"code":"222405","name":"龙井市"},{"code":"222406","name":"和龙市"},{"code":"222424","name":"汪清县"},{"code":"222426","name":"安图县"}]}]},{"code":"23","name":"黑龙江省","children":[{"code":"2301","name":"哈尔滨市","children":[{"code":"230102","name":"道里区"},{"code":"230103","name":"南岗区"},{"code":"230104","name":"道外区"},{"code":"230108","name":"平房区"},{"code":"230109","name":"松北区"},{"code":"230110","name":"香坊区"},{"code":"230111","name":"呼兰区"},{"code":"230112","name":"阿城区"},{"code":"230113","name":"双城区"},{"code":"230123","name":"依兰县"},{"code":"230124","name":"方正县"},{"code":"230125","name":"宾县"},{"code":"230126","name":"巴彦县"},{"code":"230127","name":"木兰县"},{"code":"230128","name":"通河县"},{"code":"230129","name":"延寿县"},{"code":"230183","name":"尚志市"},{"code":"230184","name":"五常市"}]},{"code":"2302","name":"齐齐哈尔市","children":[{"code":"230202","name":"龙沙区"},{"code":"230203","name":"建华区"},{"code":"230204","name":"铁锋区"},{"code":"230205","name":"昂昂溪区"},{"code":"230206","name":"富拉尔基区"},{"code":"230207","name":"碾子山区"},{"code":"230208","name":"梅里斯达斡尔族区"},{"code":"230221","name":"龙江县"},{"code":"230223","name":"依安县"},{"code":"230224","name":"泰来县"},{"code":"230225","name":"甘南县"},{"code":"230227","name":"富裕县"},{"code":"230229","name":"克山县"},{"code":"230230","name":"克东县"},{"code":"230231","name":"拜泉县"},{"code":"230281","name":"讷河市"}]},{"code":"2303","name":"鸡西市","children":[{"code":"230302","name":"鸡冠区"},{"code":"230303","name":"恒山区"},{"code":"230304","name":"滴道区"},{"code":"230305","name":"梨树区"},{"code":"230306","name":"城子河区"},{"code":"230307","name":"麻山区"},{"code":"230321","name":"鸡东县"},{"code":"230381","name":"虎林市"},{"code":"230382","name":"密山市"}]},{"code":"2304","name":"鹤岗市","children":[{"code":"230402","name":"向阳区"},{"code":"230403","name":"工农区"},{"code":"230404","name":"南山区"},{"code":"230405","name":"兴安区"},{"code":"230406","name":"东山区"},{"code":"230407","name":"兴山区"},{"code":"230421","name":"萝北县"},{"code":"230422","name":"绥滨县"}]},{"code":"2305","name":"双鸭山市","children":[{"code":"230502","name":"尖山区"},{"code":"230503","name":"岭东区"},{"code":"230505","name":"四方台区"},{"code":"230506","name":"宝山区"},{"code":"230521","name":"集贤县"},{"code":"230522","name":"友谊县"},{"code":"230523","name":"宝清县"},{"code":"230524","name":"饶河县"}]},{"code":"2306","name":"大庆市","children":[{"code":"230602","name":"萨尔图区"},{"code":"230603","name":"龙凤区"},{"code":"230604","name":"让胡路区"},{"code":"230605","name":"红岗区"},{"code":"230606","name":"大同区"},{"code":"230621","name":"肇州县"},{"code":"230622","name":"肇源县"},{"code":"230623","name":"林甸县"},{"code":"230624","name":"杜尔伯特蒙古族自治县"},{"code":"230671","name":"大庆高新技术产业开发区"}]},{"code":"2307","name":"伊春市","children":[{"code":"230702","name":"伊春区"},{"code":"230703","name":"南岔区"},{"code":"230704","name":"友好区"},{"code":"230705","name":"西林区"},{"code":"230706","name":"翠峦区"},{"code":"230707","name":"新青区"},{"code":"230708","name":"美溪区"},{"code":"230709","name":"金山屯区"},{"code":"230710","name":"五营区"},{"code":"230711","name":"乌马河区"},{"code":"230712","name":"汤旺河区"},{"code":"230713","name":"带岭区"},{"code":"230714","name":"乌伊岭区"},{"code":"230715","name":"红星区"},{"code":"230716","name":"上甘岭区"},{"code":"230722","name":"嘉荫县"},{"code":"230781","name":"铁力市"}]},{"code":"2308","name":"佳木斯市","children":[{"code":"230803","name":"向阳区"},{"code":"230804","name":"前进区"},{"code":"230805","name":"东风区"},{"code":"230811","name":"郊区"},{"code":"230822","name":"桦南县"},{"code":"230826","name":"桦川县"},{"code":"230828","name":"汤原县"},{"code":"230881","name":"同江市"},{"code":"230882","name":"富锦市"},{"code":"230883","name":"抚远市"}]},{"code":"2309","name":"七台河市","children":[{"code":"230902","name":"新兴区"},{"code":"230903","name":"桃山区"},{"code":"230904","name":"茄子河区"},{"code":"230921","name":"勃利县"}]},{"code":"2310","name":"牡丹江市","children":[{"code":"231002","name":"东安区"},{"code":"231003","name":"阳明区"},{"code":"231004","name":"爱民区"},{"code":"231005","name":"西安区"},{"code":"231025","name":"林口县"},{"code":"231071","name":"牡丹江经济技术开发区"},{"code":"231081","name":"绥芬河市"},{"code":"231083","name":"海林市"},{"code":"231084","name":"宁安市"},{"code":"231085","name":"穆棱市"},{"code":"231086","name":"东宁市"}]},{"code":"2311","name":"黑河市","children":[{"code":"231102","name":"爱辉区"},{"code":"231121","name":"嫩江县"},{"code":"231123","name":"逊克县"},{"code":"231124","name":"孙吴县"},{"code":"231181","name":"北安市"},{"code":"231182","name":"五大连池市"}]},{"code":"2312","name":"绥化市","children":[{"code":"231202","name":"北林区"},{"code":"231221","name":"望奎县"},{"code":"231222","name":"兰西县"},{"code":"231223","name":"青冈县"},{"code":"231224","name":"庆安县"},{"code":"231225","name":"明水县"},{"code":"231226","name":"绥棱县"},{"code":"231281","name":"安达市"},{"code":"231282","name":"肇东市"},{"code":"231283","name":"海伦市"}]},{"code":"2327","name":"大兴安岭地区","children":[{"code":"232701","name":"加格达奇区"},{"code":"232702","name":"松岭区"},{"code":"232703","name":"新林区"},{"code":"232704","name":"呼中区"},{"code":"232721","name":"呼玛县"},{"code":"232722","name":"塔河县"},{"code":"232723","name":"漠河县"}]}]},{"code":"31","name":"上海市","children":[{"code":"3101","name":"市辖区","children":[{"code":"310101","name":"黄浦区"},{"code":"310104","name":"徐汇区"},{"code":"310105","name":"长宁区"},{"code":"310106","name":"静安区"},{"code":"310107","name":"普陀区"},{"code":"310109","name":"虹口区"},{"code":"310110","name":"杨浦区"},{"code":"310112","name":"闵行区"},{"code":"310113","name":"宝山区"},{"code":"310114","name":"嘉定区"},{"code":"310115","name":"浦东新区"},{"code":"310116","name":"金山区"},{"code":"310117","name":"松江区"},{"code":"310118","name":"青浦区"},{"code":"310120","name":"奉贤区"},{"code":"310151","name":"崇明区"}]}]},{"code":"32","name":"江苏省","children":[{"code":"3201","name":"南京市","children":[{"code":"320102","name":"玄武区"},{"code":"320104","name":"秦淮区"},{"code":"320105","name":"建邺区"},{"code":"320106","name":"鼓楼区"},{"code":"320111","name":"浦口区"},{"code":"320113","name":"栖霞区"},{"code":"320114","name":"雨花台区"},{"code":"320115","name":"江宁区"},{"code":"320116","name":"六合区"},{"code":"320117","name":"溧水区"},{"code":"320118","name":"高淳区"}]},{"code":"3202","name":"无锡市","children":[{"code":"320205","name":"锡山区"},{"code":"320206","name":"惠山区"},{"code":"320211","name":"滨湖区"},{"code":"320213","name":"梁溪区"},{"code":"320214","name":"新吴区"},{"code":"320281","name":"江阴市"},{"code":"320282","name":"宜兴市"}]},{"code":"3203","name":"徐州市","children":[{"code":"320302","name":"鼓楼区"},{"code":"320303","name":"云龙区"},{"code":"320305","name":"贾汪区"},{"code":"320311","name":"泉山区"},{"code":"320312","name":"铜山区"},{"code":"320321","name":"丰县"},{"code":"320322","name":"沛县"},{"code":"320324","name":"睢宁县"},{"code":"320371","name":"徐州经济技术开发区"},{"code":"320381","name":"新沂市"},{"code":"320382","name":"邳州市"}]},{"code":"3204","name":"常州市","children":[{"code":"320402","name":"天宁区"},{"code":"320404","name":"钟楼区"},{"code":"320411","name":"新北区"},{"code":"320412","name":"武进区"},{"code":"320413","name":"金坛区"},{"code":"320481","name":"溧阳市"}]},{"code":"3205","name":"苏州市","children":[{"code":"320505","name":"虎丘区"},{"code":"320506","name":"吴中区"},{"code":"320507","name":"相城区"},{"code":"320508","name":"姑苏区"},{"code":"320509","name":"吴江区"},{"code":"320571","name":"苏州工业园区"},{"code":"320581","name":"常熟市"},{"code":"320582","name":"张家港市"},{"code":"320583","name":"昆山市"},{"code":"320585","name":"太仓市"}]},{"code":"3206","name":"南通市","children":[{"code":"320602","name":"崇川区"},{"code":"320611","name":"港闸区"},{"code":"320612","name":"通州区"},{"code":"320621","name":"海安县"},{"code":"320623","name":"如东县"},{"code":"320671","name":"南通经济技术开发区"},{"code":"320681","name":"启东市"},{"code":"320682","name":"如皋市"},{"code":"320684","name":"海门市"}]},{"code":"3207","name":"连云港市","children":[{"code":"320703","name":"连云区"},{"code":"320706","name":"海州区"},{"code":"320707","name":"赣榆区"},{"code":"320722","name":"东海县"},{"code":"320723","name":"灌云县"},{"code":"320724","name":"灌南县"},{"code":"320771","name":"连云港经济技术开发区"},{"code":"320772","name":"连云港高新技术产业开发区"}]},{"code":"3208","name":"淮安市","children":[{"code":"320803","name":"淮安区"},{"code":"320804","name":"淮阴区"},{"code":"320812","name":"清江浦区"},{"code":"320813","name":"洪泽区"},{"code":"320826","name":"涟水县"},{"code":"320830","name":"盱眙县"},{"code":"320831","name":"金湖县"},{"code":"320871","name":"淮安经济技术开发区"}]},{"code":"3209","name":"盐城市","children":[{"code":"320902","name":"亭湖区"},{"code":"320903","name":"盐都区"},{"code":"320904","name":"大丰区"},{"code":"320921","name":"响水县"},{"code":"320922","name":"滨海县"},{"code":"320923","name":"阜宁县"},{"code":"320924","name":"射阳县"},{"code":"320925","name":"建湖县"},{"code":"320971","name":"盐城经济技术开发区"},{"code":"320981","name":"东台市"}]},{"code":"3210","name":"扬州市","children":[{"code":"321002","name":"广陵区"},{"code":"321003","name":"邗江区"},{"code":"321012","name":"江都区"},{"code":"321023","name":"宝应县"},{"code":"321071","name":"扬州经济技术开发区"},{"code":"321081","name":"仪征市"},{"code":"321084","name":"高邮市"}]},{"code":"3211","name":"镇江市","children":[{"code":"321102","name":"京口区"},{"code":"321111","name":"润州区"},{"code":"321112","name":"丹徒区"},{"code":"321171","name":"镇江新区"},{"code":"321181","name":"丹阳市"},{"code":"321182","name":"扬中市"},{"code":"321183","name":"句容市"}]},{"code":"3212","name":"泰州市","children":[{"code":"321202","name":"海陵区"},{"code":"321203","name":"高港区"},{"code":"321204","name":"姜堰区"},{"code":"321271","name":"泰州医药高新技术产业开发区"},{"code":"321281","name":"兴化市"},{"code":"321282","name":"靖江市"},{"code":"321283","name":"泰兴市"}]},{"code":"3213","name":"宿迁市","children":[{"code":"321302","name":"宿城区"},{"code":"321311","name":"宿豫区"},{"code":"321322","name":"沭阳县"},{"code":"321323","name":"泗阳县"},{"code":"321324","name":"泗洪县"},{"code":"321371","name":"宿迁经济技术开发区"}]}]},{"code":"33","name":"浙江省","children":[{"code":"3301","name":"杭州市","children":[{"code":"330102","name":"上城区"},{"code":"330103","name":"下城区"},{"code":"330104","name":"江干区"},{"code":"330105","name":"拱墅区"},{"code":"330106","name":"西湖区"},{"code":"330108","name":"滨江区"},{"code":"330109","name":"萧山区"},{"code":"330110","name":"余杭区"},{"code":"330111","name":"富阳区"},{"code":"330112","name":"临安区"},{"code":"330122","name":"桐庐县"},{"code":"330127","name":"淳安县"},{"code":"330182","name":"建德市"}]},{"code":"3302","name":"宁波市","children":[{"code":"330203","name":"海曙区"},{"code":"330205","name":"江北区"},{"code":"330206","name":"北仑区"},{"code":"330211","name":"镇海区"},{"code":"330212","name":"鄞州区"},{"code":"330213","name":"奉化区"},{"code":"330225","name":"象山县"},{"code":"330226","name":"宁海县"},{"code":"330281","name":"余姚市"},{"code":"330282","name":"慈溪市"}]},{"code":"3303","name":"温州市","children":[{"code":"330302","name":"鹿城区"},{"code":"330303","name":"龙湾区"},{"code":"330304","name":"瓯海区"},{"code":"330305","name":"洞头区"},{"code":"330324","name":"永嘉县"},{"code":"330326","name":"平阳县"},{"code":"330327","name":"苍南县"},{"code":"330328","name":"文成县"},{"code":"330329","name":"泰顺县"},{"code":"330371","name":"温州经济技术开发区"},{"code":"330381","name":"瑞安市"},{"code":"330382","name":"乐清市"}]},{"code":"3304","name":"嘉兴市","children":[{"code":"330402","name":"南湖区"},{"code":"330411","name":"秀洲区"},{"code":"330421","name":"嘉善县"},{"code":"330424","name":"海盐县"},{"code":"330481","name":"海宁市"},{"code":"330482","name":"平湖市"},{"code":"330483","name":"桐乡市"}]},{"code":"3305","name":"湖州市","children":[{"code":"330502","name":"吴兴区"},{"code":"330503","name":"南浔区"},{"code":"330521","name":"德清县"},{"code":"330522","name":"长兴县"},{"code":"330523","name":"安吉县"}]},{"code":"3306","name":"绍兴市","children":[{"code":"330602","name":"越城区"},{"code":"330603","name":"柯桥区"},{"code":"330604","name":"上虞区"},{"code":"330624","name":"新昌县"},{"code":"330681","name":"诸暨市"},{"code":"330683","name":"嵊州市"}]},{"code":"3307","name":"金华市","children":[{"code":"330702","name":"婺城区"},{"code":"330703","name":"金东区"},{"code":"330723","name":"武义县"},{"code":"330726","name":"浦江县"},{"code":"330727","name":"磐安县"},{"code":"330781","name":"兰溪市"},{"code":"330782","name":"义乌市"},{"code":"330783","name":"东阳市"},{"code":"330784","name":"永康市"}]},{"code":"3308","name":"衢州市","children":[{"code":"330802","name":"柯城区"},{"code":"330803","name":"衢江区"},{"code":"330822","name":"常山县"},{"code":"330824","name":"开化县"},{"code":"330825","name":"龙游县"},{"code":"330881","name":"江山市"}]},{"code":"3309","name":"舟山市","children":[{"code":"330902","name":"定海区"},{"code":"330903","name":"普陀区"},{"code":"330921","name":"岱山县"},{"code":"330922","name":"嵊泗县"}]},{"code":"3310","name":"台州市","children":[{"code":"331002","name":"椒江区"},{"code":"331003","name":"黄岩区"},{"code":"331004","name":"路桥区"},{"code":"331022","name":"三门县"},{"code":"331023","name":"天台县"},{"code":"331024","name":"仙居县"},{"code":"331081","name":"温岭市"},{"code":"331082","name":"临海市"},{"code":"331083","name":"玉环市"}]},{"code":"3311","name":"丽水市","children":[{"code":"331102","name":"莲都区"},{"code":"331121","name":"青田县"},{"code":"331122","name":"缙云县"},{"code":"331123","name":"遂昌县"},{"code":"331124","name":"松阳县"},{"code":"331125","name":"云和县"},{"code":"331126","name":"庆元县"},{"code":"331127","name":"景宁畲族自治县"},{"code":"331181","name":"龙泉市"}]}]},{"code":"34","name":"安徽省","children":[{"code":"3401","name":"合肥市","children":[{"code":"340102","name":"瑶海区"},{"code":"340103","name":"庐阳区"},{"code":"340104","name":"蜀山区"},{"code":"340111","name":"包河区"},{"code":"340121","name":"长丰县"},{"code":"340122","name":"肥东县"},{"code":"340123","name":"肥西县"},{"code":"340124","name":"庐江县"},{"code":"340171","name":"合肥高新技术产业开发区"},{"code":"340172","name":"合肥经济技术开发区"},{"code":"340173","name":"合肥新站高新技术产业开发区"},{"code":"340181","name":"巢湖市"}]},{"code":"3402","name":"芜湖市","children":[{"code":"340202","name":"镜湖区"},{"code":"340203","name":"弋江区"},{"code":"340207","name":"鸠江区"},{"code":"340208","name":"三山区"},{"code":"340221","name":"芜湖县"},{"code":"340222","name":"繁昌县"},{"code":"340223","name":"南陵县"},{"code":"340225","name":"无为县"},{"code":"340271","name":"芜湖经济技术开发区"},{"code":"340272","name":"安徽芜湖长江大桥经济开发区"}]},{"code":"3403","name":"蚌埠市","children":[{"code":"340302","name":"龙子湖区"},{"code":"340303","name":"蚌山区"},{"code":"340304","name":"禹会区"},{"code":"340311","name":"淮上区"},{"code":"340321","name":"怀远县"},{"code":"340322","name":"五河县"},{"code":"340323","name":"固镇县"},{"code":"340371","name":"蚌埠市高新技术开发区"},{"code":"340372","name":"蚌埠市经济开发区"}]},{"code":"3404","name":"淮南市","children":[{"code":"340402","name":"大通区"},{"code":"340403","name":"田家庵区"},{"code":"340404","name":"谢家集区"},{"code":"340405","name":"八公山区"},{"code":"340406","name":"潘集区"},{"code":"340421","name":"凤台县"},{"code":"340422","name":"寿县"}]},{"code":"3405","name":"马鞍山市","children":[{"code":"340503","name":"花山区"},{"code":"340504","name":"雨山区"},{"code":"340506","name":"博望区"},{"code":"340521","name":"当涂县"},{"code":"340522","name":"含山县"},{"code":"340523","name":"和县"}]},{"code":"3406","name":"淮北市","children":[{"code":"340602","name":"杜集区"},{"code":"340603","name":"相山区"},{"code":"340604","name":"烈山区"},{"code":"340621","name":"濉溪县"}]},{"code":"3407","name":"铜陵市","children":[{"code":"340705","name":"铜官区"},{"code":"340706","name":"义安区"},{"code":"340711","name":"郊区"},{"code":"340722","name":"枞阳县"}]},{"code":"3408","name":"安庆市","children":[{"code":"340802","name":"迎江区"},{"code":"340803","name":"大观区"},{"code":"340811","name":"宜秀区"},{"code":"340822","name":"怀宁县"},{"code":"340824","name":"潜山县"},{"code":"340825","name":"太湖县"},{"code":"340826","name":"宿松县"},{"code":"340827","name":"望江县"},{"code":"340828","name":"岳西县"},{"code":"340871","name":"安徽安庆经济开发区"},{"code":"340881","name":"桐城市"}]},{"code":"3410","name":"黄山市","children":[{"code":"341002","name":"屯溪区"},{"code":"341003","name":"黄山区"},{"code":"341004","name":"徽州区"},{"code":"341021","name":"歙县"},{"code":"341022","name":"休宁县"},{"code":"341023","name":"黟县"},{"code":"341024","name":"祁门县"}]},{"code":"3411","name":"滁州市","children":[{"code":"341102","name":"琅琊区"},{"code":"341103","name":"南谯区"},{"code":"341122","name":"来安县"},{"code":"341124","name":"全椒县"},{"code":"341125","name":"定远县"},{"code":"341126","name":"凤阳县"},{"code":"341171","name":"苏滁现代产业园"},{"code":"341172","name":"滁州经济技术开发区"},{"code":"341181","name":"天长市"},{"code":"341182","name":"明光市"}]},{"code":"3412","name":"阜阳市","children":[{"code":"341202","name":"颍州区"},{"code":"341203","name":"颍东区"},{"code":"341204","name":"颍泉区"},{"code":"341221","name":"临泉县"},{"code":"341222","name":"太和县"},{"code":"341225","name":"阜南县"},{"code":"341226","name":"颍上县"},{"code":"341271","name":"阜阳合肥现代产业园区"},{"code":"341272","name":"阜阳经济技术开发区"},{"code":"341282","name":"界首市"}]},{"code":"3413","name":"宿州市","children":[{"code":"341302","name":"埇桥区"},{"code":"341321","name":"砀山县"},{"code":"341322","name":"萧县"},{"code":"341323","name":"灵璧县"},{"code":"341324","name":"泗县"},{"code":"341371","name":"宿州马鞍山现代产业园区"},{"code":"341372","name":"宿州经济技术开发区"}]},{"code":"3415","name":"六安市","children":[{"code":"341502","name":"金安区"},{"code":"341503","name":"裕安区"},{"code":"341504","name":"叶集区"},{"code":"341522","name":"霍邱县"},{"code":"341523","name":"舒城县"},{"code":"341524","name":"金寨县"},{"code":"341525","name":"霍山县"}]},{"code":"3416","name":"亳州市","children":[{"code":"341602","name":"谯城区"},{"code":"341621","name":"涡阳县"},{"code":"341622","name":"蒙城县"},{"code":"341623","name":"利辛县"}]},{"code":"3417","name":"池州市","children":[{"code":"341702","name":"贵池区"},{"code":"341721","name":"东至县"},{"code":"341722","name":"石台县"},{"code":"341723","name":"青阳县"}]},{"code":"3418","name":"宣城市","children":[{"code":"341802","name":"宣州区"},{"code":"341821","name":"郎溪县"},{"code":"341822","name":"广德县"},{"code":"341823","name":"泾县"},{"code":"341824","name":"绩溪县"},{"code":"341825","name":"旌德县"},{"code":"341871","name":"宣城市经济开发区"},{"code":"341881","name":"宁国市"}]}]},{"code":"35","name":"福建省","children":[{"code":"3501","name":"福州市","children":[{"code":"350102","name":"鼓楼区"},{"code":"350103","name":"台江区"},{"code":"350104","name":"仓山区"},{"code":"350105","name":"马尾区"},{"code":"350111","name":"晋安区"},{"code":"350121","name":"闽侯县"},{"code":"350122","name":"连江县"},{"code":"350123","name":"罗源县"},{"code":"350124","name":"闽清县"},{"code":"350125","name":"永泰县"},{"code":"350128","name":"平潭县"},{"code":"350181","name":"福清市"},{"code":"350182","name":"长乐市"}]},{"code":"3502","name":"厦门市","children":[{"code":"350203","name":"思明区"},{"code":"350205","name":"海沧区"},{"code":"350206","name":"湖里区"},{"code":"350211","name":"集美区"},{"code":"350212","name":"同安区"},{"code":"350213","name":"翔安区"}]},{"code":"3503","name":"莆田市","children":[{"code":"350302","name":"城厢区"},{"code":"350303","name":"涵江区"},{"code":"350304","name":"荔城区"},{"code":"350305","name":"秀屿区"},{"code":"350322","name":"仙游县"}]},{"code":"3504","name":"三明市","children":[{"code":"350402","name":"梅列区"},{"code":"350403","name":"三元区"},{"code":"350421","name":"明溪县"},{"code":"350423","name":"清流县"},{"code":"350424","name":"宁化县"},{"code":"350425","name":"大田县"},{"code":"350426","name":"尤溪县"},{"code":"350427","name":"沙县"},{"code":"350428","name":"将乐县"},{"code":"350429","name":"泰宁县"},{"code":"350430","name":"建宁县"},{"code":"350481","name":"永安市"}]},{"code":"3505","name":"泉州市","children":[{"code":"350502","name":"鲤城区"},{"code":"350503","name":"丰泽区"},{"code":"350504","name":"洛江区"},{"code":"350505","name":"泉港区"},{"code":"350521","name":"惠安县"},{"code":"350524","name":"安溪县"},{"code":"350525","name":"永春县"},{"code":"350526","name":"德化县"},{"code":"350527","name":"金门县"},{"code":"350581","name":"石狮市"},{"code":"350582","name":"晋江市"},{"code":"350583","name":"南安市"}]},{"code":"3506","name":"漳州市","children":[{"code":"350602","name":"芗城区"},{"code":"350603","name":"龙文区"},{"code":"350622","name":"云霄县"},{"code":"350623","name":"漳浦县"},{"code":"350624","name":"诏安县"},{"code":"350625","name":"长泰县"},{"code":"350626","name":"东山县"},{"code":"350627","name":"南靖县"},{"code":"350628","name":"平和县"},{"code":"350629","name":"华安县"},{"code":"350681","name":"龙海市"}]},{"code":"3507","name":"南平市","children":[{"code":"350702","name":"延平区"},{"code":"350703","name":"建阳区"},{"code":"350721","name":"顺昌县"},{"code":"350722","name":"浦城县"},{"code":"350723","name":"光泽县"},{"code":"350724","name":"松溪县"},{"code":"350725","name":"政和县"},{"code":"350781","name":"邵武市"},{"code":"350782","name":"武夷山市"},{"code":"350783","name":"建瓯市"}]},{"code":"3508","name":"龙岩市","children":[{"code":"350802","name":"新罗区"},{"code":"350803","name":"永定区"},{"code":"350821","name":"长汀县"},{"code":"350823","name":"上杭县"},{"code":"350824","name":"武平县"},{"code":"350825","name":"连城县"},{"code":"350881","name":"漳平市"}]},{"code":"3509","name":"宁德市","children":[{"code":"350902","name":"蕉城区"},{"code":"350921","name":"霞浦县"},{"code":"350922","name":"古田县"},{"code":"350923","name":"屏南县"},{"code":"350924","name":"寿宁县"},{"code":"350925","name":"周宁县"},{"code":"350926","name":"柘荣县"},{"code":"350981","name":"福安市"},{"code":"350982","name":"福鼎市"}]}]},{"code":"36","name":"江西省","children":[{"code":"3601","name":"南昌市","children":[{"code":"360102","name":"东湖区"},{"code":"360103","name":"西湖区"},{"code":"360104","name":"青云谱区"},{"code":"360105","name":"湾里区"},{"code":"360111","name":"青山湖区"},{"code":"360112","name":"新建区"},{"code":"360121","name":"南昌县"},{"code":"360123","name":"安义县"},{"code":"360124","name":"进贤县"}]},{"code":"3602","name":"景德镇市","children":[{"code":"360202","name":"昌江区"},{"code":"360203","name":"珠山区"},{"code":"360222","name":"浮梁县"},{"code":"360281","name":"乐平市"}]},{"code":"3603","name":"萍乡市","children":[{"code":"360302","name":"安源区"},{"code":"360313","name":"湘东区"},{"code":"360321","name":"莲花县"},{"code":"360322","name":"上栗县"},{"code":"360323","name":"芦溪县"}]},{"code":"3604","name":"九江市","children":[{"code":"360402","name":"濂溪区"},{"code":"360403","name":"浔阳区"},{"code":"360404","name":"柴桑区"},{"code":"360423","name":"武宁县"},{"code":"360424","name":"修水县"},{"code":"360425","name":"永修县"},{"code":"360426","name":"德安县"},{"code":"360428","name":"都昌县"},{"code":"360429","name":"湖口县"},{"code":"360430","name":"彭泽县"},{"code":"360481","name":"瑞昌市"},{"code":"360482","name":"共青城市"},{"code":"360483","name":"庐山市"}]},{"code":"3605","name":"新余市","children":[{"code":"360502","name":"渝水区"},{"code":"360521","name":"分宜县"}]},{"code":"3606","name":"鹰潭市","children":[{"code":"360602","name":"月湖区"},{"code":"360622","name":"余江县"},{"code":"360681","name":"贵溪市"}]},{"code":"3607","name":"赣州市","children":[{"code":"360702","name":"章贡区"},{"code":"360703","name":"南康区"},{"code":"360704","name":"赣县区"},{"code":"360722","name":"信丰县"},{"code":"360723","name":"大余县"},{"code":"360724","name":"上犹县"},{"code":"360725","name":"崇义县"},{"code":"360726","name":"安远县"},{"code":"360727","name":"龙南县"},{"code":"360728","name":"定南县"},{"code":"360729","name":"全南县"},{"code":"360730","name":"宁都县"},{"code":"360731","name":"于都县"},{"code":"360732","name":"兴国县"},{"code":"360733","name":"会昌县"},{"code":"360734","name":"寻乌县"},{"code":"360735","name":"石城县"},{"code":"360781","name":"瑞金市"}]},{"code":"3608","name":"吉安市","children":[{"code":"360802","name":"吉州区"},{"code":"360803","name":"青原区"},{"code":"360821","name":"吉安县"},{"code":"360822","name":"吉水县"},{"code":"360823","name":"峡江县"},{"code":"360824","name":"新干县"},{"code":"360825","name":"永丰县"},{"code":"360826","name":"泰和县"},{"code":"360827","name":"遂川县"},{"code":"360828","name":"万安县"},{"code":"360829","name":"安福县"},{"code":"360830","name":"永新县"},{"code":"360881","name":"井冈山市"}]},{"code":"3609","name":"宜春市","children":[{"code":"360902","name":"袁州区"},{"code":"360921","name":"奉新县"},{"code":"360922","name":"万载县"},{"code":"360923","name":"上高县"},{"code":"360924","name":"宜丰县"},{"code":"360925","name":"靖安县"},{"code":"360926","name":"铜鼓县"},{"code":"360981","name":"丰城市"},{"code":"360982","name":"樟树市"},{"code":"360983","name":"高安市"}]},{"code":"3610","name":"抚州市","children":[{"code":"361002","name":"临川区"},{"code":"361003","name":"东乡区"},{"code":"361021","name":"南城县"},{"code":"361022","name":"黎川县"},{"code":"361023","name":"南丰县"},{"code":"361024","name":"崇仁县"},{"code":"361025","name":"乐安县"},{"code":"361026","name":"宜黄县"},{"code":"361027","name":"金溪县"},{"code":"361028","name":"资溪县"},{"code":"361030","name":"广昌县"}]},{"code":"3611","name":"上饶市","children":[{"code":"361102","name":"信州区"},{"code":"361103","name":"广丰区"},{"code":"361121","name":"上饶县"},{"code":"361123","name":"玉山县"},{"code":"361124","name":"铅山县"},{"code":"361125","name":"横峰县"},{"code":"361126","name":"弋阳县"},{"code":"361127","name":"余干县"},{"code":"361128","name":"鄱阳县"},{"code":"361129","name":"万年县"},{"code":"361130","name":"婺源县"},{"code":"361181","name":"德兴市"}]}]},{"code":"37","name":"山东省","children":[{"code":"3701","name":"济南市","children":[{"code":"370102","name":"历下区"},{"code":"370103","name":"市中区"},{"code":"370104","name":"槐荫区"},{"code":"370105","name":"天桥区"},{"code":"370112","name":"历城区"},{"code":"370113","name":"长清区"},{"code":"370114","name":"章丘区"},{"code":"370124","name":"平阴县"},{"code":"370125","name":"济阳县"},{"code":"370126","name":"商河县"},{"code":"370171","name":"济南高新技术产业开发区"}]},{"code":"3702","name":"青岛市","children":[{"code":"370202","name":"市南区"},{"code":"370203","name":"市北区"},{"code":"370211","name":"黄岛区"},{"code":"370212","name":"崂山区"},{"code":"370213","name":"李沧区"},{"code":"370214","name":"城阳区"},{"code":"370215","name":"即墨区"},{"code":"370271","name":"青岛高新技术产业开发区"},{"code":"370281","name":"胶州市"},{"code":"370283","name":"平度市"},{"code":"370285","name":"莱西市"}]},{"code":"3703","name":"淄博市","children":[{"code":"370302","name":"淄川区"},{"code":"370303","name":"张店区"},{"code":"370304","name":"博山区"},{"code":"370305","name":"临淄区"},{"code":"370306","name":"周村区"},{"code":"370321","name":"桓台县"},{"code":"370322","name":"高青县"},{"code":"370323","name":"沂源县"}]},{"code":"3704","name":"枣庄市","children":[{"code":"370402","name":"市中区"},{"code":"370403","name":"薛城区"},{"code":"370404","name":"峄城区"},{"code":"370405","name":"台儿庄区"},{"code":"370406","name":"山亭区"},{"code":"370481","name":"滕州市"}]},{"code":"3705","name":"东营市","children":[{"code":"370502","name":"东营区"},{"code":"370503","name":"河口区"},{"code":"370505","name":"垦利区"},{"code":"370522","name":"利津县"},{"code":"370523","name":"广饶县"},{"code":"370571","name":"东营经济技术开发区"},{"code":"370572","name":"东营港经济开发区"}]},{"code":"3706","name":"烟台市","children":[{"code":"370602","name":"芝罘区"},{"code":"370611","name":"福山区"},{"code":"370612","name":"牟平区"},{"code":"370613","name":"莱山区"},{"code":"370634","name":"长岛县"},{"code":"370671","name":"烟台高新技术产业开发区"},{"code":"370672","name":"烟台经济技术开发区"},{"code":"370681","name":"龙口市"},{"code":"370682","name":"莱阳市"},{"code":"370683","name":"莱州市"},{"code":"370684","name":"蓬莱市"},{"code":"370685","name":"招远市"},{"code":"370686","name":"栖霞市"},{"code":"370687","name":"海阳市"}]},{"code":"3707","name":"潍坊市","children":[{"code":"370702","name":"潍城区"},{"code":"370703","name":"寒亭区"},{"code":"370704","name":"坊子区"},{"code":"370705","name":"奎文区"},{"code":"370724","name":"临朐县"},{"code":"370725","name":"昌乐县"},{"code":"370772","name":"潍坊滨海经济技术开发区"},{"code":"370781","name":"青州市"},{"code":"370782","name":"诸城市"},{"code":"370783","name":"寿光市"},{"code":"370784","name":"安丘市"},{"code":"370785","name":"高密市"},{"code":"370786","name":"昌邑市"}]},{"code":"3708","name":"济宁市","children":[{"code":"370811","name":"任城区"},{"code":"370812","name":"兖州区"},{"code":"370826","name":"微山县"},{"code":"370827","name":"鱼台县"},{"code":"370828","name":"金乡县"},{"code":"370829","name":"嘉祥县"},{"code":"370830","name":"汶上县"},{"code":"370831","name":"泗水县"},{"code":"370832","name":"梁山县"},{"code":"370871","name":"济宁高新技术产业开发区"},{"code":"370881","name":"曲阜市"},{"code":"370883","name":"邹城市"}]},{"code":"3709","name":"泰安市","children":[{"code":"370902","name":"泰山区"},{"code":"370911","name":"岱岳区"},{"code":"370921","name":"宁阳县"},{"code":"370923","name":"东平县"},{"code":"370982","name":"新泰市"},{"code":"370983","name":"肥城市"}]},{"code":"3710","name":"威海市","children":[{"code":"371002","name":"环翠区"},{"code":"371003","name":"文登区"},{"code":"371071","name":"威海火炬高技术产业开发区"},{"code":"371072","name":"威海经济技术开发区"},{"code":"371073","name":"威海临港经济技术开发区"},{"code":"371082","name":"荣成市"},{"code":"371083","name":"乳山市"}]},{"code":"3711","name":"日照市","children":[{"code":"371102","name":"东港区"},{"code":"371103","name":"岚山区"},{"code":"371121","name":"五莲县"},{"code":"371122","name":"莒县"},{"code":"371171","name":"日照经济技术开发区"},{"code":"371172","name":"日照国际海洋城"}]},{"code":"3712","name":"莱芜市","children":[{"code":"371202","name":"莱城区"},{"code":"371203","name":"钢城区"}]},{"code":"3713","name":"临沂市","children":[{"code":"371302","name":"兰山区"},{"code":"371311","name":"罗庄区"},{"code":"371312","name":"河东区"},{"code":"371321","name":"沂南县"},{"code":"371322","name":"郯城县"},{"code":"371323","name":"沂水县"},{"code":"371324","name":"兰陵县"},{"code":"371325","name":"费县"},{"code":"371326","name":"平邑县"},{"code":"371327","name":"莒南县"},{"code":"371328","name":"蒙阴县"},{"code":"371329","name":"临沭县"},{"code":"371371","name":"临沂高新技术产业开发区"},{"code":"371372","name":"临沂经济技术开发区"},{"code":"371373","name":"临沂临港经济开发区"}]},{"code":"3714","name":"德州市","children":[{"code":"371402","name":"德城区"},{"code":"371403","name":"陵城区"},{"code":"371422","name":"宁津县"},{"code":"371423","name":"庆云县"},{"code":"371424","name":"临邑县"},{"code":"371425","name":"齐河县"},{"code":"371426","name":"平原县"},{"code":"371427","name":"夏津县"},{"code":"371428","name":"武城县"},{"code":"371471","name":"德州经济技术开发区"},{"code":"371472","name":"德州运河经济开发区"},{"code":"371481","name":"乐陵市"},{"code":"371482","name":"禹城市"}]},{"code":"3715","name":"聊城市","children":[{"code":"371502","name":"东昌府区"},{"code":"371521","name":"阳谷县"},{"code":"371522","name":"莘县"},{"code":"371523","name":"茌平县"},{"code":"371524","name":"东阿县"},{"code":"371525","name":"冠县"},{"code":"371526","name":"高唐县"},{"code":"371581","name":"临清市"}]},{"code":"3716","name":"滨州市","children":[{"code":"371602","name":"滨城区"},{"code":"371603","name":"沾化区"},{"code":"371621","name":"惠民县"},{"code":"371622","name":"阳信县"},{"code":"371623","name":"无棣县"},{"code":"371625","name":"博兴县"},{"code":"371626","name":"邹平县"}]},{"code":"3717","name":"菏泽市","children":[{"code":"371702","name":"牡丹区"},{"code":"371703","name":"定陶区"},{"code":"371721","name":"曹县"},{"code":"371722","name":"单县"},{"code":"371723","name":"成武县"},{"code":"371724","name":"巨野县"},{"code":"371725","name":"郓城县"},{"code":"371726","name":"鄄城县"},{"code":"371728","name":"东明县"},{"code":"371771","name":"菏泽经济技术开发区"},{"code":"371772","name":"菏泽高新技术开发区"}]}]},{"code":"41","name":"河南省","children":[{"code":"4101","name":"郑州市","children":[{"code":"410102","name":"中原区"},{"code":"410103","name":"二七区"},{"code":"410104","name":"管城回族区"},{"code":"410105","name":"金水区"},{"code":"410106","name":"上街区"},{"code":"410108","name":"惠济区"},{"code":"410122","name":"中牟县"},{"code":"410171","name":"郑州经济技术开发区"},{"code":"410172","name":"郑州高新技术产业开发区"},{"code":"410173","name":"郑州航空港经济综合实验区"},{"code":"410181","name":"巩义市"},{"code":"410182","name":"荥阳市"},{"code":"410183","name":"新密市"},{"code":"410184","name":"新郑市"},{"code":"410185","name":"登封市"}]},{"code":"4102","name":"开封市","children":[{"code":"410202","name":"龙亭区"},{"code":"410203","name":"顺河回族区"},{"code":"410204","name":"鼓楼区"},{"code":"410205","name":"禹王台区"},{"code":"410212","name":"祥符区"},{"code":"410221","name":"杞县"},{"code":"410222","name":"通许县"},{"code":"410223","name":"尉氏县"},{"code":"410225","name":"兰考县"}]},{"code":"4103","name":"洛阳市","children":[{"code":"410302","name":"老城区"},{"code":"410303","name":"西工区"},{"code":"410304","name":"瀍河回族区"},{"code":"410305","name":"涧西区"},{"code":"410306","name":"吉利区"},{"code":"410311","name":"洛龙区"},{"code":"410322","name":"孟津县"},{"code":"410323","name":"新安县"},{"code":"410324","name":"栾川县"},{"code":"410325","name":"嵩县"},{"code":"410326","name":"汝阳县"},{"code":"410327","name":"宜阳县"},{"code":"410328","name":"洛宁县"},{"code":"410329","name":"伊川县"},{"code":"410371","name":"洛阳高新技术产业开发区"},{"code":"410381","name":"偃师市"}]},{"code":"4104","name":"平顶山市","children":[{"code":"410402","name":"新华区"},{"code":"410403","name":"卫东区"},{"code":"410404","name":"石龙区"},{"code":"410411","name":"湛河区"},{"code":"410421","name":"宝丰县"},{"code":"410422","name":"叶县"},{"code":"410423","name":"鲁山县"},{"code":"410425","name":"郏县"},{"code":"410471","name":"平顶山高新技术产业开发区"},{"code":"410472","name":"平顶山市新城区"},{"code":"410481","name":"舞钢市"},{"code":"410482","name":"汝州市"}]},{"code":"4105","name":"安阳市","children":[{"code":"410502","name":"文峰区"},{"code":"410503","name":"北关区"},{"code":"410505","name":"殷都区"},{"code":"410506","name":"龙安区"},{"code":"410522","name":"安阳县"},{"code":"410523","name":"汤阴县"},{"code":"410526","name":"滑县"},{"code":"410527","name":"内黄县"},{"code":"410571","name":"安阳高新技术产业开发区"},{"code":"410581","name":"林州市"}]},{"code":"4106","name":"鹤壁市","children":[{"code":"410602","name":"鹤山区"},{"code":"410603","name":"山城区"},{"code":"410611","name":"淇滨区"},{"code":"410621","name":"浚县"},{"code":"410622","name":"淇县"},{"code":"410671","name":"鹤壁经济技术开发区"}]},{"code":"4107","name":"新乡市","children":[{"code":"410702","name":"红旗区"},{"code":"410703","name":"卫滨区"},{"code":"410704","name":"凤泉区"},{"code":"410711","name":"牧野区"},{"code":"410721","name":"新乡县"},{"code":"410724","name":"获嘉县"},{"code":"410725","name":"原阳县"},{"code":"410726","name":"延津县"},{"code":"410727","name":"封丘县"},{"code":"410728","name":"长垣县"},{"code":"410771","name":"新乡高新技术产业开发区"},{"code":"410772","name":"新乡经济技术开发区"},{"code":"410773","name":"新乡市平原城乡一体化示范区"},{"code":"410781","name":"卫辉市"},{"code":"410782","name":"辉县市"}]},{"code":"4108","name":"焦作市","children":[{"code":"410802","name":"解放区"},{"code":"410803","name":"中站区"},{"code":"410804","name":"马村区"},{"code":"410811","name":"山阳区"},{"code":"410821","name":"修武县"},{"code":"410822","name":"博爱县"},{"code":"410823","name":"武陟县"},{"code":"410825","name":"温县"},{"code":"410871","name":"焦作城乡一体化示范区"},{"code":"410882","name":"沁阳市"},{"code":"410883","name":"孟州市"}]},{"code":"4109","name":"濮阳市","children":[{"code":"410902","name":"华龙区"},{"code":"410922","name":"清丰县"},{"code":"410923","name":"南乐县"},{"code":"410926","name":"范县"},{"code":"410927","name":"台前县"},{"code":"410928","name":"濮阳县"},{"code":"410971","name":"河南濮阳工业园区"},{"code":"410972","name":"濮阳经济技术开发区"}]},{"code":"4110","name":"许昌市","children":[{"code":"411002","name":"魏都区"},{"code":"411003","name":"建安区"},{"code":"411024","name":"鄢陵县"},{"code":"411025","name":"襄城县"},{"code":"411071","name":"许昌经济技术开发区"},{"code":"411081","name":"禹州市"},{"code":"411082","name":"长葛市"}]},{"code":"4111","name":"漯河市","children":[{"code":"411102","name":"源汇区"},{"code":"411103","name":"郾城区"},{"code":"411104","name":"召陵区"},{"code":"411121","name":"舞阳县"},{"code":"411122","name":"临颍县"},{"code":"411171","name":"漯河经济技术开发区"}]},{"code":"4112","name":"三门峡市","children":[{"code":"411202","name":"湖滨区"},{"code":"411203","name":"陕州区"},{"code":"411221","name":"渑池县"},{"code":"411224","name":"卢氏县"},{"code":"411271","name":"河南三门峡经济开发区"},{"code":"411281","name":"义马市"},{"code":"411282","name":"灵宝市"}]},{"code":"4113","name":"南阳市","children":[{"code":"411302","name":"宛城区"},{"code":"411303","name":"卧龙区"},{"code":"411321","name":"南召县"},{"code":"411322","name":"方城县"},{"code":"411323","name":"西峡县"},{"code":"411324","name":"镇平县"},{"code":"411325","name":"内乡县"},{"code":"411326","name":"淅川县"},{"code":"411327","name":"社旗县"},{"code":"411328","name":"唐河县"},{"code":"411329","name":"新野县"},{"code":"411330","name":"桐柏县"},{"code":"411371","name":"南阳高新技术产业开发区"},{"code":"411372","name":"南阳市城乡一体化示范区"},{"code":"411381","name":"邓州市"}]},{"code":"4114","name":"商丘市","children":[{"code":"411402","name":"梁园区"},{"code":"411403","name":"睢阳区"},{"code":"411421","name":"民权县"},{"code":"411422","name":"睢县"},{"code":"411423","name":"宁陵县"},{"code":"411424","name":"柘城县"},{"code":"411425","name":"虞城县"},{"code":"411426","name":"夏邑县"},{"code":"411471","name":"豫东综合物流产业聚集区"},{"code":"411472","name":"河南商丘经济开发区"},{"code":"411481","name":"永城市"}]},{"code":"4115","name":"信阳市","children":[{"code":"411502","name":"浉河区"},{"code":"411503","name":"平桥区"},{"code":"411521","name":"罗山县"},{"code":"411522","name":"光山县"},{"code":"411523","name":"新县"},{"code":"411524","name":"商城县"},{"code":"411525","name":"固始县"},{"code":"411526","name":"潢川县"},{"code":"411527","name":"淮滨县"},{"code":"411528","name":"息县"},{"code":"411571","name":"信阳高新技术产业开发区"}]},{"code":"4116","name":"周口市","children":[{"code":"411602","name":"川汇区"},{"code":"411621","name":"扶沟县"},{"code":"411622","name":"西华县"},{"code":"411623","name":"商水县"},{"code":"411624","name":"沈丘县"},{"code":"411625","name":"郸城县"},{"code":"411626","name":"淮阳县"},{"code":"411627","name":"太康县"},{"code":"411628","name":"鹿邑县"},{"code":"411671","name":"河南周口经济开发区"},{"code":"411681","name":"项城市"}]},{"code":"4117","name":"驻马店市","children":[{"code":"411702","name":"驿城区"},{"code":"411721","name":"西平县"},{"code":"411722","name":"上蔡县"},{"code":"411723","name":"平舆县"},{"code":"411724","name":"正阳县"},{"code":"411725","name":"确山县"},{"code":"411726","name":"泌阳县"},{"code":"411727","name":"汝南县"},{"code":"411728","name":"遂平县"},{"code":"411729","name":"新蔡县"},{"code":"411771","name":"河南驻马店经济开发区"}]},{"code":"4190","name":"省直辖县级行政区划","children":[{"code":"419001","name":"济源市"}]}]},{"code":"42","name":"湖北省","children":[{"code":"4201","name":"武汉市","children":[{"code":"420102","name":"江岸区"},{"code":"420103","name":"江汉区"},{"code":"420104","name":"硚口区"},{"code":"420105","name":"汉阳区"},{"code":"420106","name":"武昌区"},{"code":"420107","name":"青山区"},{"code":"420111","name":"洪山区"},{"code":"420112","name":"东西湖区"},{"code":"420113","name":"汉南区"},{"code":"420114","name":"蔡甸区"},{"code":"420115","name":"江夏区"},{"code":"420116","name":"黄陂区"},{"code":"420117","name":"新洲区"}]},{"code":"4202","name":"黄石市","children":[{"code":"420202","name":"黄石港区"},{"code":"420203","name":"西塞山区"},{"code":"420204","name":"下陆区"},{"code":"420205","name":"铁山区"},{"code":"420222","name":"阳新县"},{"code":"420281","name":"大冶市"}]},{"code":"4203","name":"十堰市","children":[{"code":"420302","name":"茅箭区"},{"code":"420303","name":"张湾区"},{"code":"420304","name":"郧阳区"},{"code":"420322","name":"郧西县"},{"code":"420323","name":"竹山县"},{"code":"420324","name":"竹溪县"},{"code":"420325","name":"房县"},{"code":"420381","name":"丹江口市"}]},{"code":"4205","name":"宜昌市","children":[{"code":"420502","name":"西陵区"},{"code":"420503","name":"伍家岗区"},{"code":"420504","name":"点军区"},{"code":"420505","name":"猇亭区"},{"code":"420506","name":"夷陵区"},{"code":"420525","name":"远安县"},{"code":"420526","name":"兴山县"},{"code":"420527","name":"秭归县"},{"code":"420528","name":"长阳土家族自治县"},{"code":"420529","name":"五峰土家族自治县"},{"code":"420581","name":"宜都市"},{"code":"420582","name":"当阳市"},{"code":"420583","name":"枝江市"}]},{"code":"4206","name":"襄阳市","children":[{"code":"420602","name":"襄城区"},{"code":"420606","name":"樊城区"},{"code":"420607","name":"襄州区"},{"code":"420624","name":"南漳县"},{"code":"420625","name":"谷城县"},{"code":"420626","name":"保康县"},{"code":"420682","name":"老河口市"},{"code":"420683","name":"枣阳市"},{"code":"420684","name":"宜城市"}]},{"code":"4207","name":"鄂州市","children":[{"code":"420702","name":"梁子湖区"},{"code":"420703","name":"华容区"},{"code":"420704","name":"鄂城区"}]},{"code":"4208","name":"荆门市","children":[{"code":"420802","name":"东宝区"},{"code":"420804","name":"掇刀区"},{"code":"420821","name":"京山县"},{"code":"420822","name":"沙洋县"},{"code":"420881","name":"钟祥市"}]},{"code":"4209","name":"孝感市","children":[{"code":"420902","name":"孝南区"},{"code":"420921","name":"孝昌县"},{"code":"420922","name":"大悟县"},{"code":"420923","name":"云梦县"},{"code":"420981","name":"应城市"},{"code":"420982","name":"安陆市"},{"code":"420984","name":"汉川市"}]},{"code":"4210","name":"荆州市","children":[{"code":"421002","name":"沙市区"},{"code":"421003","name":"荆州区"},{"code":"421022","name":"公安县"},{"code":"421023","name":"监利县"},{"code":"421024","name":"江陵县"},{"code":"421071","name":"荆州经济技术开发区"},{"code":"421081","name":"石首市"},{"code":"421083","name":"洪湖市"},{"code":"421087","name":"松滋市"}]},{"code":"4211","name":"黄冈市","children":[{"code":"421102","name":"黄州区"},{"code":"421121","name":"团风县"},{"code":"421122","name":"红安县"},{"code":"421123","name":"罗田县"},{"code":"421124","name":"英山县"},{"code":"421125","name":"浠水县"},{"code":"421126","name":"蕲春县"},{"code":"421127","name":"黄梅县"},{"code":"421171","name":"龙感湖管理区"},{"code":"421181","name":"麻城市"},{"code":"421182","name":"武穴市"}]},{"code":"4212","name":"咸宁市","children":[{"code":"421202","name":"咸安区"},{"code":"421221","name":"嘉鱼县"},{"code":"421222","name":"通城县"},{"code":"421223","name":"崇阳县"},{"code":"421224","name":"通山县"},{"code":"421281","name":"赤壁市"}]},{"code":"4213","name":"随州市","children":[{"code":"421303","name":"曾都区"},{"code":"421321","name":"随县"},{"code":"421381","name":"广水市"}]},{"code":"4228","name":"恩施土家族苗族自治州","children":[{"code":"422801","name":"恩施市"},{"code":"422802","name":"利川市"},{"code":"422822","name":"建始县"},{"code":"422823","name":"巴东县"},{"code":"422825","name":"宣恩县"},{"code":"422826","name":"咸丰县"},{"code":"422827","name":"来凤县"},{"code":"422828","name":"鹤峰县"}]},{"code":"4290","name":"省直辖县级行政区划","children":[{"code":"429004","name":"仙桃市"},{"code":"429005","name":"潜江市"},{"code":"429006","name":"天门市"},{"code":"429021","name":"神农架林区"}]}]},{"code":"43","name":"湖南省","children":[{"code":"4301","name":"长沙市","children":[{"code":"430102","name":"芙蓉区"},{"code":"430103","name":"天心区"},{"code":"430104","name":"岳麓区"},{"code":"430105","name":"开福区"},{"code":"430111","name":"雨花区"},{"code":"430112","name":"望城区"},{"code":"430121","name":"长沙县"},{"code":"430181","name":"浏阳市"},{"code":"430182","name":"宁乡市"}]},{"code":"4302","name":"株洲市","children":[{"code":"430202","name":"荷塘区"},{"code":"430203","name":"芦淞区"},{"code":"430204","name":"石峰区"},{"code":"430211","name":"天元区"},{"code":"430221","name":"株洲县"},{"code":"430223","name":"攸县"},{"code":"430224","name":"茶陵县"},{"code":"430225","name":"炎陵县"},{"code":"430271","name":"云龙示范区"},{"code":"430281","name":"醴陵市"}]},{"code":"4303","name":"湘潭市","children":[{"code":"430302","name":"雨湖区"},{"code":"430304","name":"岳塘区"},{"code":"430321","name":"湘潭县"},{"code":"430371","name":"湖南湘潭高新技术产业园区"},{"code":"430372","name":"湘潭昭山示范区"},{"code":"430373","name":"湘潭九华示范区"},{"code":"430381","name":"湘乡市"},{"code":"430382","name":"韶山市"}]},{"code":"4304","name":"衡阳市","children":[{"code":"430405","name":"珠晖区"},{"code":"430406","name":"雁峰区"},{"code":"430407","name":"石鼓区"},{"code":"430408","name":"蒸湘区"},{"code":"430412","name":"南岳区"},{"code":"430421","name":"衡阳县"},{"code":"430422","name":"衡南县"},{"code":"430423","name":"衡山县"},{"code":"430424","name":"衡东县"},{"code":"430426","name":"祁东县"},{"code":"430471","name":"衡阳综合保税区"},{"code":"430472","name":"湖南衡阳高新技术产业园区"},{"code":"430473","name":"湖南衡阳松木经济开发区"},{"code":"430481","name":"耒阳市"},{"code":"430482","name":"常宁市"}]},{"code":"4305","name":"邵阳市","children":[{"code":"430502","name":"双清区"},{"code":"430503","name":"大祥区"},{"code":"430511","name":"北塔区"},{"code":"430521","name":"邵东县"},{"code":"430522","name":"新邵县"},{"code":"430523","name":"邵阳县"},{"code":"430524","name":"隆回县"},{"code":"430525","name":"洞口县"},{"code":"430527","name":"绥宁县"},{"code":"430528","name":"新宁县"},{"code":"430529","name":"城步苗族自治县"},{"code":"430581","name":"武冈市"}]},{"code":"4306","name":"岳阳市","children":[{"code":"430602","name":"岳阳楼区"},{"code":"430603","name":"云溪区"},{"code":"430611","name":"君山区"},{"code":"430621","name":"岳阳县"},{"code":"430623","name":"华容县"},{"code":"430624","name":"湘阴县"},{"code":"430626","name":"平江县"},{"code":"430671","name":"岳阳市屈原管理区"},{"code":"430681","name":"汨罗市"},{"code":"430682","name":"临湘市"}]},{"code":"4307","name":"常德市","children":[{"code":"430702","name":"武陵区"},{"code":"430703","name":"鼎城区"},{"code":"430721","name":"安乡县"},{"code":"430722","name":"汉寿县"},{"code":"430723","name":"澧县"},{"code":"430724","name":"临澧县"},{"code":"430725","name":"桃源县"},{"code":"430726","name":"石门县"},{"code":"430771","name":"常德市西洞庭管理区"},{"code":"430781","name":"津市市"}]},{"code":"4308","name":"张家界市","children":[{"code":"430802","name":"永定区"},{"code":"430811","name":"武陵源区"},{"code":"430821","name":"慈利县"},{"code":"430822","name":"桑植县"}]},{"code":"4309","name":"益阳市","children":[{"code":"430902","name":"资阳区"},{"code":"430903","name":"赫山区"},{"code":"430921","name":"南县"},{"code":"430922","name":"桃江县"},{"code":"430923","name":"安化县"},{"code":"430971","name":"益阳市大通湖管理区"},{"code":"430972","name":"湖南益阳高新技术产业园区"},{"code":"430981","name":"沅江市"}]},{"code":"4310","name":"郴州市","children":[{"code":"431002","name":"北湖区"},{"code":"431003","name":"苏仙区"},{"code":"431021","name":"桂阳县"},{"code":"431022","name":"宜章县"},{"code":"431023","name":"永兴县"},{"code":"431024","name":"嘉禾县"},{"code":"431025","name":"临武县"},{"code":"431026","name":"汝城县"},{"code":"431027","name":"桂东县"},{"code":"431028","name":"安仁县"},{"code":"431081","name":"资兴市"}]},{"code":"4311","name":"永州市","children":[{"code":"431102","name":"零陵区"},{"code":"431103","name":"冷水滩区"},{"code":"431121","name":"祁阳县"},{"code":"431122","name":"东安县"},{"code":"431123","name":"双牌县"},{"code":"431124","name":"道县"},{"code":"431125","name":"江永县"},{"code":"431126","name":"宁远县"},{"code":"431127","name":"蓝山县"},{"code":"431128","name":"新田县"},{"code":"431129","name":"江华瑶族自治县"},{"code":"431171","name":"永州经济技术开发区"},{"code":"431172","name":"永州市金洞管理区"},{"code":"431173","name":"永州市回龙圩管理区"}]},{"code":"4312","name":"怀化市","children":[{"code":"431202","name":"鹤城区"},{"code":"431221","name":"中方县"},{"code":"431222","name":"沅陵县"},{"code":"431223","name":"辰溪县"},{"code":"431224","name":"溆浦县"},{"code":"431225","name":"会同县"},{"code":"431226","name":"麻阳苗族自治县"},{"code":"431227","name":"新晃侗族自治县"},{"code":"431228","name":"芷江侗族自治县"},{"code":"431229","name":"靖州苗族侗族自治县"},{"code":"431230","name":"通道侗族自治县"},{"code":"431271","name":"怀化市洪江管理区"},{"code":"431281","name":"洪江市"}]},{"code":"4313","name":"娄底市","children":[{"code":"431302","name":"娄星区"},{"code":"431321","name":"双峰县"},{"code":"431322","name":"新化县"},{"code":"431381","name":"冷水江市"},{"code":"431382","name":"涟源市"}]},{"code":"4331","name":"湘西土家族苗族自治州","children":[{"code":"433101","name":"吉首市"},{"code":"433122","name":"泸溪县"},{"code":"433123","name":"凤凰县"},{"code":"433124","name":"花垣县"},{"code":"433125","name":"保靖县"},{"code":"433126","name":"古丈县"},{"code":"433127","name":"永顺县"},{"code":"433130","name":"龙山县"},{"code":"433172","name":"湖南吉首经济开发区"},{"code":"433173","name":"湖南永顺经济开发区"}]}]},{"code":"44","name":"广东省","children":[{"code":"4401","name":"广州市","children":[{"code":"440103","name":"荔湾区"},{"code":"440104","name":"越秀区"},{"code":"440105","name":"海珠区"},{"code":"440106","name":"天河区"},{"code":"440111","name":"白云区"},{"code":"440112","name":"黄埔区"},{"code":"440113","name":"番禺区"},{"code":"440114","name":"花都区"},{"code":"440115","name":"南沙区"},{"code":"440117","name":"从化区"},{"code":"440118","name":"增城区"}]},{"code":"4402","name":"韶关市","children":[{"code":"440203","name":"武江区"},{"code":"440204","name":"浈江区"},{"code":"440205","name":"曲江区"},{"code":"440222","name":"始兴县"},{"code":"440224","name":"仁化县"},{"code":"440229","name":"翁源县"},{"code":"440232","name":"乳源瑶族自治县"},{"code":"440233","name":"新丰县"},{"code":"440281","name":"乐昌市"},{"code":"440282","name":"南雄市"}]},{"code":"4403","name":"深圳市","children":[{"code":"440303","name":"罗湖区"},{"code":"440304","name":"福田区"},{"code":"440305","name":"南山区"},{"code":"440306","name":"宝安区"},{"code":"440307","name":"龙岗区"},{"code":"440308","name":"盐田区"},{"code":"440309","name":"龙华区"},{"code":"440310","name":"坪山区"}]},{"code":"4404","name":"珠海市","children":[{"code":"440402","name":"香洲区"},{"code":"440403","name":"斗门区"},{"code":"440404","name":"金湾区"}]},{"code":"4405","name":"汕头市","children":[{"code":"440507","name":"龙湖区"},{"code":"440511","name":"金平区"},{"code":"440512","name":"濠江区"},{"code":"440513","name":"潮阳区"},{"code":"440514","name":"潮南区"},{"code":"440515","name":"澄海区"},{"code":"440523","name":"南澳县"}]},{"code":"4406","name":"佛山市","children":[{"code":"440604","name":"禅城区"},{"code":"440605","name":"南海区"},{"code":"440606","name":"顺德区"},{"code":"440607","name":"三水区"},{"code":"440608","name":"高明区"}]},{"code":"4407","name":"江门市","children":[{"code":"440703","name":"蓬江区"},{"code":"440704","name":"江海区"},{"code":"440705","name":"新会区"},{"code":"440781","name":"台山市"},{"code":"440783","name":"开平市"},{"code":"440784","name":"鹤山市"},{"code":"440785","name":"恩平市"}]},{"code":"4408","name":"湛江市","children":[{"code":"440802","name":"赤坎区"},{"code":"440803","name":"霞山区"},{"code":"440804","name":"坡头区"},{"code":"440811","name":"麻章区"},{"code":"440823","name":"遂溪县"},{"code":"440825","name":"徐闻县"},{"code":"440881","name":"廉江市"},{"code":"440882","name":"雷州市"},{"code":"440883","name":"吴川市"}]},{"code":"4409","name":"茂名市","children":[{"code":"440902","name":"茂南区"},{"code":"440904","name":"电白区"},{"code":"440981","name":"高州市"},{"code":"440982","name":"化州市"},{"code":"440983","name":"信宜市"}]},{"code":"4412","name":"肇庆市","children":[{"code":"441202","name":"端州区"},{"code":"441203","name":"鼎湖区"},{"code":"441204","name":"高要区"},{"code":"441223","name":"广宁县"},{"code":"441224","name":"怀集县"},{"code":"441225","name":"封开县"},{"code":"441226","name":"德庆县"},{"code":"441284","name":"四会市"}]},{"code":"4413","name":"惠州市","children":[{"code":"441302","name":"惠城区"},{"code":"441303","name":"惠阳区"},{"code":"441322","name":"博罗县"},{"code":"441323","name":"惠东县"},{"code":"441324","name":"龙门县"}]},{"code":"4414","name":"梅州市","children":[{"code":"441402","name":"梅江区"},{"code":"441403","name":"梅县区"},{"code":"441422","name":"大埔县"},{"code":"441423","name":"丰顺县"},{"code":"441424","name":"五华县"},{"code":"441426","name":"平远县"},{"code":"441427","name":"蕉岭县"},{"code":"441481","name":"兴宁市"}]},{"code":"4415","name":"汕尾市","children":[{"code":"441502","name":"城区"},{"code":"441521","name":"海丰县"},{"code":"441523","name":"陆河县"},{"code":"441581","name":"陆丰市"}]},{"code":"4416","name":"河源市","children":[{"code":"441602","name":"源城区"},{"code":"441621","name":"紫金县"},{"code":"441622","name":"龙川县"},{"code":"441623","name":"连平县"},{"code":"441624","name":"和平县"},{"code":"441625","name":"东源县"}]},{"code":"4417","name":"阳江市","children":[{"code":"441702","name":"江城区"},{"code":"441704","name":"阳东区"},{"code":"441721","name":"阳西县"},{"code":"441781","name":"阳春市"}]},{"code":"4418","name":"清远市","children":[{"code":"441802","name":"清城区"},{"code":"441803","name":"清新区"},{"code":"441821","name":"佛冈县"},{"code":"441823","name":"阳山县"},{"code":"441825","name":"连山壮族瑶族自治县"},{"code":"441826","name":"连南瑶族自治县"},{"code":"441881","name":"英德市"},{"code":"441882","name":"连州市"}]},{"code":"4419","name":"东莞市","children":[{"code":"441900003","name":"东城街道"},{"code":"441900004","name":"南城街道"},{"code":"441900005","name":"万江街道"},{"code":"441900006","name":"莞城街道"},{"code":"441900101","name":"石碣镇"},{"code":"441900102","name":"石龙镇"},{"code":"441900103","name":"茶山镇"},{"code":"441900104","name":"石排镇"},{"code":"441900105","name":"企石镇"},{"code":"441900106","name":"横沥镇"},{"code":"441900107","name":"桥头镇"},{"code":"441900108","name":"谢岗镇"},{"code":"441900109","name":"东坑镇"},{"code":"441900110","name":"常平镇"},{"code":"441900111","name":"寮步镇"},{"code":"441900112","name":"樟木头镇"},{"code":"441900113","name":"大朗镇"},{"code":"441900114","name":"黄江镇"},{"code":"441900115","name":"清溪镇"},{"code":"441900116","name":"塘厦镇"},{"code":"441900117","name":"凤岗镇"},{"code":"441900118","name":"大岭山镇"},{"code":"441900119","name":"长安镇"},{"code":"441900121","name":"虎门镇"},{"code":"441900122","name":"厚街镇"},{"code":"441900123","name":"沙田镇"},{"code":"441900124","name":"道滘镇"},{"code":"441900125","name":"洪梅镇"},{"code":"441900126","name":"麻涌镇"},{"code":"441900127","name":"望牛墩镇"},{"code":"441900128","name":"中堂镇"},{"code":"441900129","name":"高埗镇"},{"code":"441900401","name":"松山湖管委会"},{"code":"441900402","name":"东莞港"},{"code":"441900403","name":"东莞生态园"}]},{"code":"4420","name":"中山市","children":[{"code":"442000001","name":"石岐区街道"},{"code":"442000002","name":"东区街道"},{"code":"442000003","name":"火炬开发区街道"},{"code":"442000004","name":"西区街道"},{"code":"442000005","name":"南区街道"},{"code":"442000006","name":"五桂山街道"},{"code":"442000100","name":"小榄镇"},{"code":"442000101","name":"黄圃镇"},{"code":"442000102","name":"民众镇"},{"code":"442000103","name":"东凤镇"},{"code":"442000104","name":"东升镇"},{"code":"442000105","name":"古镇镇"},{"code":"442000106","name":"沙溪镇"},{"code":"442000107","name":"坦洲镇"},{"code":"442000108","name":"港口镇"},{"code":"442000109","name":"三角镇"},{"code":"442000110","name":"横栏镇"},{"code":"442000111","name":"南头镇"},{"code":"442000112","name":"阜沙镇"},{"code":"442000113","name":"南朗镇"},{"code":"442000114","name":"三乡镇"},{"code":"442000115","name":"板芙镇"},{"code":"442000116","name":"大涌镇"},{"code":"442000117","name":"神湾镇"}]},{"code":"4451","name":"潮州市","children":[{"code":"445102","name":"湘桥区"},{"code":"445103","name":"潮安区"},{"code":"445122","name":"饶平县"}]},{"code":"4452","name":"揭阳市","children":[{"code":"445202","name":"榕城区"},{"code":"445203","name":"揭东区"},{"code":"445222","name":"揭西县"},{"code":"445224","name":"惠来县"},{"code":"445281","name":"普宁市"}]},{"code":"4453","name":"云浮市","children":[{"code":"445302","name":"云城区"},{"code":"445303","name":"云安区"},{"code":"445321","name":"新兴县"},{"code":"445322","name":"郁南县"},{"code":"445381","name":"罗定市"}]}]},{"code":"45","name":"广西壮族自治区","children":[{"code":"4501","name":"南宁市","children":[{"code":"450102","name":"兴宁区"},{"code":"450103","name":"青秀区"},{"code":"450105","name":"江南区"},{"code":"450107","name":"西乡塘区"},{"code":"450108","name":"良庆区"},{"code":"450109","name":"邕宁区"},{"code":"450110","name":"武鸣区"},{"code":"450123","name":"隆安县"},{"code":"450124","name":"马山县"},{"code":"450125","name":"上林县"},{"code":"450126","name":"宾阳县"},{"code":"450127","name":"横县"}]},{"code":"4502","name":"柳州市","children":[{"code":"450202","name":"城中区"},{"code":"450203","name":"鱼峰区"},{"code":"450204","name":"柳南区"},{"code":"450205","name":"柳北区"},{"code":"450206","name":"柳江区"},{"code":"450222","name":"柳城县"},{"code":"450223","name":"鹿寨县"},{"code":"450224","name":"融安县"},{"code":"450225","name":"融水苗族自治县"},{"code":"450226","name":"三江侗族自治县"}]},{"code":"4503","name":"桂林市","children":[{"code":"450302","name":"秀峰区"},{"code":"450303","name":"叠彩区"},{"code":"450304","name":"象山区"},{"code":"450305","name":"七星区"},{"code":"450311","name":"雁山区"},{"code":"450312","name":"临桂区"},{"code":"450321","name":"阳朔县"},{"code":"450323","name":"灵川县"},{"code":"450324","name":"全州县"},{"code":"450325","name":"兴安县"},{"code":"450326","name":"永福县"},{"code":"450327","name":"灌阳县"},{"code":"450328","name":"龙胜各族自治县"},{"code":"450329","name":"资源县"},{"code":"450330","name":"平乐县"},{"code":"450331","name":"荔浦县"},{"code":"450332","name":"恭城瑶族自治县"}]},{"code":"4504","name":"梧州市","children":[{"code":"450403","name":"万秀区"},{"code":"450405","name":"长洲区"},{"code":"450406","name":"龙圩区"},{"code":"450421","name":"苍梧县"},{"code":"450422","name":"藤县"},{"code":"450423","name":"蒙山县"},{"code":"450481","name":"岑溪市"}]},{"code":"4505","name":"北海市","children":[{"code":"450502","name":"海城区"},{"code":"450503","name":"银海区"},{"code":"450512","name":"铁山港区"},{"code":"450521","name":"合浦县"}]},{"code":"4506","name":"防城港市","children":[{"code":"450602","name":"港口区"},{"code":"450603","name":"防城区"},{"code":"450621","name":"上思县"},{"code":"450681","name":"东兴市"}]},{"code":"4507","name":"钦州市","children":[{"code":"450702","name":"钦南区"},{"code":"450703","name":"钦北区"},{"code":"450721","name":"灵山县"},{"code":"450722","name":"浦北县"}]},{"code":"4508","name":"贵港市","children":[{"code":"450802","name":"港北区"},{"code":"450803","name":"港南区"},{"code":"450804","name":"覃塘区"},{"code":"450821","name":"平南县"},{"code":"450881","name":"桂平市"}]},{"code":"4509","name":"玉林市","children":[{"code":"450902","name":"玉州区"},{"code":"450903","name":"福绵区"},{"code":"450921","name":"容县"},{"code":"450922","name":"陆川县"},{"code":"450923","name":"博白县"},{"code":"450924","name":"兴业县"},{"code":"450981","name":"北流市"}]},{"code":"4510","name":"百色市","children":[{"code":"451002","name":"右江区"},{"code":"451021","name":"田阳县"},{"code":"451022","name":"田东县"},{"code":"451023","name":"平果县"},{"code":"451024","name":"德保县"},{"code":"451026","name":"那坡县"},{"code":"451027","name":"凌云县"},{"code":"451028","name":"乐业县"},{"code":"451029","name":"田林县"},{"code":"451030","name":"西林县"},{"code":"451031","name":"隆林各族自治县"},{"code":"451081","name":"靖西市"}]},{"code":"4511","name":"贺州市","children":[{"code":"451102","name":"八步区"},{"code":"451103","name":"平桂区"},{"code":"451121","name":"昭平县"},{"code":"451122","name":"钟山县"},{"code":"451123","name":"富川瑶族自治县"}]},{"code":"4512","name":"河池市","children":[{"code":"451202","name":"金城江区"},{"code":"451203","name":"宜州区"},{"code":"451221","name":"南丹县"},{"code":"451222","name":"天峨县"},{"code":"451223","name":"凤山县"},{"code":"451224","name":"东兰县"},{"code":"451225","name":"罗城仫佬族自治县"},{"code":"451226","name":"环江毛南族自治县"},{"code":"451227","name":"巴马瑶族自治县"},{"code":"451228","name":"都安瑶族自治县"},{"code":"451229","name":"大化瑶族自治县"}]},{"code":"4513","name":"来宾市","children":[{"code":"451302","name":"兴宾区"},{"code":"451321","name":"忻城县"},{"code":"451322","name":"象州县"},{"code":"451323","name":"武宣县"},{"code":"451324","name":"金秀瑶族自治县"},{"code":"451381","name":"合山市"}]},{"code":"4514","name":"崇左市","children":[{"code":"451402","name":"江州区"},{"code":"451421","name":"扶绥县"},{"code":"451422","name":"宁明县"},{"code":"451423","name":"龙州县"},{"code":"451424","name":"大新县"},{"code":"451425","name":"天等县"},{"code":"451481","name":"凭祥市"}]}]},{"code":"46","name":"海南省","children":[{"code":"4601","name":"海口市","children":[{"code":"460105","name":"秀英区"},{"code":"460106","name":"龙华区"},{"code":"460107","name":"琼山区"},{"code":"460108","name":"美兰区"}]},{"code":"4602","name":"三亚市","children":[{"code":"460202","name":"海棠区"},{"code":"460203","name":"吉阳区"},{"code":"460204","name":"天涯区"},{"code":"460205","name":"崖州区"}]},{"code":"4603","name":"三沙市","children":[{"code":"460321","name":"西沙群岛"},{"code":"460322","name":"南沙群岛"},{"code":"460323","name":"中沙群岛的岛礁及其海域"}]},{"code":"4604","name":"儋州市","children":[{"code":"460400100","name":"那大镇"},{"code":"460400101","name":"和庆镇"},{"code":"460400102","name":"南丰镇"},{"code":"460400103","name":"大成镇"},{"code":"460400104","name":"雅星镇"},{"code":"460400105","name":"兰洋镇"},{"code":"460400106","name":"光村镇"},{"code":"460400107","name":"木棠镇"},{"code":"460400108","name":"海头镇"},{"code":"460400109","name":"峨蔓镇"},{"code":"460400111","name":"王五镇"},{"code":"460400112","name":"白马井镇"},{"code":"460400113","name":"中和镇"},{"code":"460400114","name":"排浦镇"},{"code":"460400115","name":"东成镇"},{"code":"460400116","name":"新州镇"},{"code":"460400499","name":"洋浦经济开发区"},{"code":"460400500","name":"华南热作学院"}]},{"code":"4690","name":"省直辖县级行政区划","children":[{"code":"469001","name":"五指山市"},{"code":"469002","name":"琼海市"},{"code":"469005","name":"文昌市"},{"code":"469006","name":"万宁市"},{"code":"469007","name":"东方市"},{"code":"469021","name":"定安县"},{"code":"469022","name":"屯昌县"},{"code":"469023","name":"澄迈县"},{"code":"469024","name":"临高县"},{"code":"469025","name":"白沙黎族自治县"},{"code":"469026","name":"昌江黎族自治县"},{"code":"469027","name":"乐东黎族自治县"},{"code":"469028","name":"陵水黎族自治县"},{"code":"469029","name":"保亭黎族苗族自治县"},{"code":"469030","name":"琼中黎族苗族自治县"}]}]},{"code":"50","name":"重庆市","children":[{"code":"5001","name":"市辖区","children":[{"code":"500101","name":"万州区"},{"code":"500102","name":"涪陵区"},{"code":"500103","name":"渝中区"},{"code":"500104","name":"大渡口区"},{"code":"500105","name":"江北区"},{"code":"500106","name":"沙坪坝区"},{"code":"500107","name":"九龙坡区"},{"code":"500108","name":"南岸区"},{"code":"500109","name":"北碚区"},{"code":"500110","name":"綦江区"},{"code":"500111","name":"大足区"},{"code":"500112","name":"渝北区"},{"code":"500113","name":"巴南区"},{"code":"500114","name":"黔江区"},{"code":"500115","name":"长寿区"},{"code":"500116","name":"江津区"},{"code":"500117","name":"合川区"},{"code":"500118","name":"永川区"},{"code":"500119","name":"南川区"},{"code":"500120","name":"璧山区"},{"code":"500151","name":"铜梁区"},{"code":"500152","name":"潼南区"},{"code":"500153","name":"荣昌区"},{"code":"500154","name":"开州区"},{"code":"500155","name":"梁平区"},{"code":"500156","name":"武隆区"}]},{"code":"5002","name":"县","children":[{"code":"500229","name":"城口县"},{"code":"500230","name":"丰都县"},{"code":"500231","name":"垫江县"},{"code":"500233","name":"忠县"},{"code":"500235","name":"云阳县"},{"code":"500236","name":"奉节县"},{"code":"500237","name":"巫山县"},{"code":"500238","name":"巫溪县"},{"code":"500240","name":"石柱土家族自治县"},{"code":"500241","name":"秀山土家族苗族自治县"},{"code":"500242","name":"酉阳土家族苗族自治县"},{"code":"500243","name":"彭水苗族土家族自治县"}]}]},{"code":"51","name":"四川省","children":[{"code":"5101","name":"成都市","children":[{"code":"510104","name":"锦江区"},{"code":"510105","name":"青羊区"},{"code":"510106","name":"金牛区"},{"code":"510107","name":"武侯区"},{"code":"510108","name":"成华区"},{"code":"510112","name":"龙泉驿区"},{"code":"510113","name":"青白江区"},{"code":"510114","name":"新都区"},{"code":"510115","name":"温江区"},{"code":"510116","name":"双流区"},{"code":"510117","name":"郫都区"},{"code":"510121","name":"金堂县"},{"code":"510129","name":"大邑县"},{"code":"510131","name":"蒲江县"},{"code":"510132","name":"新津县"},{"code":"510181","name":"都江堰市"},{"code":"510182","name":"彭州市"},{"code":"510183","name":"邛崃市"},{"code":"510184","name":"崇州市"},{"code":"510185","name":"简阳市"}]},{"code":"5103","name":"自贡市","children":[{"code":"510302","name":"自流井区"},{"code":"510303","name":"贡井区"},{"code":"510304","name":"大安区"},{"code":"510311","name":"沿滩区"},{"code":"510321","name":"荣县"},{"code":"510322","name":"富顺县"}]},{"code":"5104","name":"攀枝花市","children":[{"code":"510402","name":"东区"},{"code":"510403","name":"西区"},{"code":"510411","name":"仁和区"},{"code":"510421","name":"米易县"},{"code":"510422","name":"盐边县"}]},{"code":"5105","name":"泸州市","children":[{"code":"510502","name":"江阳区"},{"code":"510503","name":"纳溪区"},{"code":"510504","name":"龙马潭区"},{"code":"510521","name":"泸县"},{"code":"510522","name":"合江县"},{"code":"510524","name":"叙永县"},{"code":"510525","name":"古蔺县"}]},{"code":"5106","name":"德阳市","children":[{"code":"510603","name":"旌阳区"},{"code":"510604","name":"罗江区"},{"code":"510623","name":"中江县"},{"code":"510681","name":"广汉市"},{"code":"510682","name":"什邡市"},{"code":"510683","name":"绵竹市"}]},{"code":"5107","name":"绵阳市","children":[{"code":"510703","name":"涪城区"},{"code":"510704","name":"游仙区"},{"code":"510705","name":"安州区"},{"code":"510722","name":"三台县"},{"code":"510723","name":"盐亭县"},{"code":"510725","name":"梓潼县"},{"code":"510726","name":"北川羌族自治县"},{"code":"510727","name":"平武县"},{"code":"510781","name":"江油市"}]},{"code":"5108","name":"广元市","children":[{"code":"510802","name":"利州区"},{"code":"510811","name":"昭化区"},{"code":"510812","name":"朝天区"},{"code":"510821","name":"旺苍县"},{"code":"510822","name":"青川县"},{"code":"510823","name":"剑阁县"},{"code":"510824","name":"苍溪县"}]},{"code":"5109","name":"遂宁市","children":[{"code":"510903","name":"船山区"},{"code":"510904","name":"安居区"},{"code":"510921","name":"蓬溪县"},{"code":"510922","name":"射洪县"},{"code":"510923","name":"大英县"}]},{"code":"5110","name":"内江市","children":[{"code":"511002","name":"市中区"},{"code":"511011","name":"东兴区"},{"code":"511024","name":"威远县"},{"code":"511025","name":"资中县"},{"code":"511071","name":"内江经济开发区"},{"code":"511083","name":"隆昌市"}]},{"code":"5111","name":"乐山市","children":[{"code":"511102","name":"市中区"},{"code":"511111","name":"沙湾区"},{"code":"511112","name":"五通桥区"},{"code":"511113","name":"金口河区"},{"code":"511123","name":"犍为县"},{"code":"511124","name":"井研县"},{"code":"511126","name":"夹江县"},{"code":"511129","name":"沐川县"},{"code":"511132","name":"峨边彝族自治县"},{"code":"511133","name":"马边彝族自治县"},{"code":"511181","name":"峨眉山市"}]},{"code":"5113","name":"南充市","children":[{"code":"511302","name":"顺庆区"},{"code":"511303","name":"高坪区"},{"code":"511304","name":"嘉陵区"},{"code":"511321","name":"南部县"},{"code":"511322","name":"营山县"},{"code":"511323","name":"蓬安县"},{"code":"511324","name":"仪陇县"},{"code":"511325","name":"西充县"},{"code":"511381","name":"阆中市"}]},{"code":"5114","name":"眉山市","children":[{"code":"511402","name":"东坡区"},{"code":"511403","name":"彭山区"},{"code":"511421","name":"仁寿县"},{"code":"511423","name":"洪雅县"},{"code":"511424","name":"丹棱县"},{"code":"511425","name":"青神县"}]},{"code":"5115","name":"宜宾市","children":[{"code":"511502","name":"翠屏区"},{"code":"511503","name":"南溪区"},{"code":"511521","name":"宜宾县"},{"code":"511523","name":"江安县"},{"code":"511524","name":"长宁县"},{"code":"511525","name":"高县"},{"code":"511526","name":"珙县"},{"code":"511527","name":"筠连县"},{"code":"511528","name":"兴文县"},{"code":"511529","name":"屏山县"}]},{"code":"5116","name":"广安市","children":[{"code":"511602","name":"广安区"},{"code":"511603","name":"前锋区"},{"code":"511621","name":"岳池县"},{"code":"511622","name":"武胜县"},{"code":"511623","name":"邻水县"},{"code":"511681","name":"华蓥市"}]},{"code":"5117","name":"达州市","children":[{"code":"511702","name":"通川区"},{"code":"511703","name":"达川区"},{"code":"511722","name":"宣汉县"},{"code":"511723","name":"开江县"},{"code":"511724","name":"大竹县"},{"code":"511725","name":"渠县"},{"code":"511771","name":"达州经济开发区"},{"code":"511781","name":"万源市"}]},{"code":"5118","name":"雅安市","children":[{"code":"511802","name":"雨城区"},{"code":"511803","name":"名山区"},{"code":"511822","name":"荥经县"},{"code":"511823","name":"汉源县"},{"code":"511824","name":"石棉县"},{"code":"511825","name":"天全县"},{"code":"511826","name":"芦山县"},{"code":"511827","name":"宝兴县"}]},{"code":"5119","name":"巴中市","children":[{"code":"511902","name":"巴州区"},{"code":"511903","name":"恩阳区"},{"code":"511921","name":"通江县"},{"code":"511922","name":"南江县"},{"code":"511923","name":"平昌县"},{"code":"511971","name":"巴中经济开发区"}]},{"code":"5120","name":"资阳市","children":[{"code":"512002","name":"雁江区"},{"code":"512021","name":"安岳县"},{"code":"512022","name":"乐至县"}]},{"code":"5132","name":"阿坝藏族羌族自治州","children":[{"code":"513201","name":"马尔康市"},{"code":"513221","name":"汶川县"},{"code":"513222","name":"理县"},{"code":"513223","name":"茂县"},{"code":"513224","name":"松潘县"},{"code":"513225","name":"九寨沟县"},{"code":"513226","name":"金川县"},{"code":"513227","name":"小金县"},{"code":"513228","name":"黑水县"},{"code":"513230","name":"壤塘县"},{"code":"513231","name":"阿坝县"},{"code":"513232","name":"若尔盖县"},{"code":"513233","name":"红原县"}]},{"code":"5133","name":"甘孜藏族自治州","children":[{"code":"513301","name":"康定市"},{"code":"513322","name":"泸定县"},{"code":"513323","name":"丹巴县"},{"code":"513324","name":"九龙县"},{"code":"513325","name":"雅江县"},{"code":"513326","name":"道孚县"},{"code":"513327","name":"炉霍县"},{"code":"513328","name":"甘孜县"},{"code":"513329","name":"新龙县"},{"code":"513330","name":"德格县"},{"code":"513331","name":"白玉县"},{"code":"513332","name":"石渠县"},{"code":"513333","name":"色达县"},{"code":"513334","name":"理塘县"},{"code":"513335","name":"巴塘县"},{"code":"513336","name":"乡城县"},{"code":"513337","name":"稻城县"},{"code":"513338","name":"得荣县"}]},{"code":"5134","name":"凉山彝族自治州","children":[{"code":"513401","name":"西昌市"},{"code":"513422","name":"木里藏族自治县"},{"code":"513423","name":"盐源县"},{"code":"513424","name":"德昌县"},{"code":"513425","name":"会理县"},{"code":"513426","name":"会东县"},{"code":"513427","name":"宁南县"},{"code":"513428","name":"普格县"},{"code":"513429","name":"布拖县"},{"code":"513430","name":"金阳县"},{"code":"513431","name":"昭觉县"},{"code":"513432","name":"喜德县"},{"code":"513433","name":"冕宁县"},{"code":"513434","name":"越西县"},{"code":"513435","name":"甘洛县"},{"code":"513436","name":"美姑县"},{"code":"513437","name":"雷波县"}]}]},{"code":"52","name":"贵州省","children":[{"code":"5201","name":"贵阳市","children":[{"code":"520102","name":"南明区"},{"code":"520103","name":"云岩区"},{"code":"520111","name":"花溪区"},{"code":"520112","name":"乌当区"},{"code":"520113","name":"白云区"},{"code":"520115","name":"观山湖区"},{"code":"520121","name":"开阳县"},{"code":"520122","name":"息烽县"},{"code":"520123","name":"修文县"},{"code":"520181","name":"清镇市"}]},{"code":"5202","name":"六盘水市","children":[{"code":"520201","name":"钟山区"},{"code":"520203","name":"六枝特区"},{"code":"520221","name":"水城县"},{"code":"520281","name":"盘州市"}]},{"code":"5203","name":"遵义市","children":[{"code":"520302","name":"红花岗区"},{"code":"520303","name":"汇川区"},{"code":"520304","name":"播州区"},{"code":"520322","name":"桐梓县"},{"code":"520323","name":"绥阳县"},{"code":"520324","name":"正安县"},{"code":"520325","name":"道真仡佬族苗族自治县"},{"code":"520326","name":"务川仡佬族苗族自治县"},{"code":"520327","name":"凤冈县"},{"code":"520328","name":"湄潭县"},{"code":"520329","name":"余庆县"},{"code":"520330","name":"习水县"},{"code":"520381","name":"赤水市"},{"code":"520382","name":"仁怀市"}]},{"code":"5204","name":"安顺市","children":[{"code":"520402","name":"西秀区"},{"code":"520403","name":"平坝区"},{"code":"520422","name":"普定县"},{"code":"520423","name":"镇宁布依族苗族自治县"},{"code":"520424","name":"关岭布依族苗族自治县"},{"code":"520425","name":"紫云苗族布依族自治县"}]},{"code":"5205","name":"毕节市","children":[{"code":"520502","name":"七星关区"},{"code":"520521","name":"大方县"},{"code":"520522","name":"黔西县"},{"code":"520523","name":"金沙县"},{"code":"520524","name":"织金县"},{"code":"520525","name":"纳雍县"},{"code":"520526","name":"威宁彝族回族苗族自治县"},{"code":"520527","name":"赫章县"}]},{"code":"5206","name":"铜仁市","children":[{"code":"520602","name":"碧江区"},{"code":"520603","name":"万山区"},{"code":"520621","name":"江口县"},{"code":"520622","name":"玉屏侗族自治县"},{"code":"520623","name":"石阡县"},{"code":"520624","name":"思南县"},{"code":"520625","name":"印江土家族苗族自治县"},{"code":"520626","name":"德江县"},{"code":"520627","name":"沿河土家族自治县"},{"code":"520628","name":"松桃苗族自治县"}]},{"code":"5223","name":"黔西南布依族苗族自治州","children":[{"code":"522301","name":"兴义市"},{"code":"522322","name":"兴仁县"},{"code":"522323","name":"普安县"},{"code":"522324","name":"晴隆县"},{"code":"522325","name":"贞丰县"},{"code":"522326","name":"望谟县"},{"code":"522327","name":"册亨县"},{"code":"522328","name":"安龙县"}]},{"code":"5226","name":"黔东南苗族侗族自治州","children":[{"code":"522601","name":"凯里市"},{"code":"522622","name":"黄平县"},{"code":"522623","name":"施秉县"},{"code":"522624","name":"三穗县"},{"code":"522625","name":"镇远县"},{"code":"522626","name":"岑巩县"},{"code":"522627","name":"天柱县"},{"code":"522628","name":"锦屏县"},{"code":"522629","name":"剑河县"},{"code":"522630","name":"台江县"},{"code":"522631","name":"黎平县"},{"code":"522632","name":"榕江县"},{"code":"522633","name":"从江县"},{"code":"522634","name":"雷山县"},{"code":"522635","name":"麻江县"},{"code":"522636","name":"丹寨县"}]},{"code":"5227","name":"黔南布依族苗族自治州","children":[{"code":"522701","name":"都匀市"},{"code":"522702","name":"福泉市"},{"code":"522722","name":"荔波县"},{"code":"522723","name":"贵定县"},{"code":"522725","name":"瓮安县"},{"code":"522726","name":"独山县"},{"code":"522727","name":"平塘县"},{"code":"522728","name":"罗甸县"},{"code":"522729","name":"长顺县"},{"code":"522730","name":"龙里县"},{"code":"522731","name":"惠水县"},{"code":"522732","name":"三都水族自治县"}]}]},{"code":"53","name":"云南省","children":[{"code":"5301","name":"昆明市","children":[{"code":"530102","name":"五华区"},{"code":"530103","name":"盘龙区"},{"code":"530111","name":"官渡区"},{"code":"530112","name":"西山区"},{"code":"530113","name":"东川区"},{"code":"530114","name":"呈贡区"},{"code":"530115","name":"晋宁区"},{"code":"530124","name":"富民县"},{"code":"530125","name":"宜良县"},{"code":"530126","name":"石林彝族自治县"},{"code":"530127","name":"嵩明县"},{"code":"530128","name":"禄劝彝族苗族自治县"},{"code":"530129","name":"寻甸回族彝族自治县"},{"code":"530181","name":"安宁市"}]},{"code":"5303","name":"曲靖市","children":[{"code":"530302","name":"麒麟区"},{"code":"530303","name":"沾益区"},{"code":"530321","name":"马龙县"},{"code":"530322","name":"陆良县"},{"code":"530323","name":"师宗县"},{"code":"530324","name":"罗平县"},{"code":"530325","name":"富源县"},{"code":"530326","name":"会泽县"},{"code":"530381","name":"宣威市"}]},{"code":"5304","name":"玉溪市","children":[{"code":"530402","name":"红塔区"},{"code":"530403","name":"江川区"},{"code":"530422","name":"澄江县"},{"code":"530423","name":"通海县"},{"code":"530424","name":"华宁县"},{"code":"530425","name":"易门县"},{"code":"530426","name":"峨山彝族自治县"},{"code":"530427","name":"新平彝族傣族自治县"},{"code":"530428","name":"元江哈尼族彝族傣族自治县"}]},{"code":"5305","name":"保山市","children":[{"code":"530502","name":"隆阳区"},{"code":"530521","name":"施甸县"},{"code":"530523","name":"龙陵县"},{"code":"530524","name":"昌宁县"},{"code":"530581","name":"腾冲市"}]},{"code":"5306","name":"昭通市","children":[{"code":"530602","name":"昭阳区"},{"code":"530621","name":"鲁甸县"},{"code":"530622","name":"巧家县"},{"code":"530623","name":"盐津县"},{"code":"530624","name":"大关县"},{"code":"530625","name":"永善县"},{"code":"530626","name":"绥江县"},{"code":"530627","name":"镇雄县"},{"code":"530628","name":"彝良县"},{"code":"530629","name":"威信县"},{"code":"530630","name":"水富县"}]},{"code":"5307","name":"丽江市","children":[{"code":"530702","name":"古城区"},{"code":"530721","name":"玉龙纳西族自治县"},{"code":"530722","name":"永胜县"},{"code":"530723","name":"华坪县"},{"code":"530724","name":"宁蒗彝族自治县"}]},{"code":"5308","name":"普洱市","children":[{"code":"530802","name":"思茅区"},{"code":"530821","name":"宁洱哈尼族彝族自治县"},{"code":"530822","name":"墨江哈尼族自治县"},{"code":"530823","name":"景东彝族自治县"},{"code":"530824","name":"景谷傣族彝族自治县"},{"code":"530825","name":"镇沅彝族哈尼族拉祜族自治县"},{"code":"530826","name":"江城哈尼族彝族自治县"},{"code":"530827","name":"孟连傣族拉祜族佤族自治县"},{"code":"530828","name":"澜沧拉祜族自治县"},{"code":"530829","name":"西盟佤族自治县"}]},{"code":"5309","name":"临沧市","children":[{"code":"530902","name":"临翔区"},{"code":"530921","name":"凤庆县"},{"code":"530922","name":"云县"},{"code":"530923","name":"永德县"},{"code":"530924","name":"镇康县"},{"code":"530925","name":"双江拉祜族佤族布朗族傣族自治县"},{"code":"530926","name":"耿马傣族佤族自治县"},{"code":"530927","name":"沧源佤族自治县"}]},{"code":"5323","name":"楚雄彝族自治州","children":[{"code":"532301","name":"楚雄市"},{"code":"532322","name":"双柏县"},{"code":"532323","name":"牟定县"},{"code":"532324","name":"南华县"},{"code":"532325","name":"姚安县"},{"code":"532326","name":"大姚县"},{"code":"532327","name":"永仁县"},{"code":"532328","name":"元谋县"},{"code":"532329","name":"武定县"},{"code":"532331","name":"禄丰县"}]},{"code":"5325","name":"红河哈尼族彝族自治州","children":[{"code":"532501","name":"个旧市"},{"code":"532502","name":"开远市"},{"code":"532503","name":"蒙自市"},{"code":"532504","name":"弥勒市"},{"code":"532523","name":"屏边苗族自治县"},{"code":"532524","name":"建水县"},{"code":"532525","name":"石屏县"},{"code":"532527","name":"泸西县"},{"code":"532528","name":"元阳县"},{"code":"532529","name":"红河县"},{"code":"532530","name":"金平苗族瑶族傣族自治县"},{"code":"532531","name":"绿春县"},{"code":"532532","name":"河口瑶族自治县"}]},{"code":"5326","name":"文山壮族苗族自治州","children":[{"code":"532601","name":"文山市"},{"code":"532622","name":"砚山县"},{"code":"532623","name":"西畴县"},{"code":"532624","name":"麻栗坡县"},{"code":"532625","name":"马关县"},{"code":"532626","name":"丘北县"},{"code":"532627","name":"广南县"},{"code":"532628","name":"富宁县"}]},{"code":"5328","name":"西双版纳傣族自治州","children":[{"code":"532801","name":"景洪市"},{"code":"532822","name":"勐海县"},{"code":"532823","name":"勐腊县"}]},{"code":"5329","name":"大理白族自治州","children":[{"code":"532901","name":"大理市"},{"code":"532922","name":"漾濞彝族自治县"},{"code":"532923","name":"祥云县"},{"code":"532924","name":"宾川县"},{"code":"532925","name":"弥渡县"},{"code":"532926","name":"南涧彝族自治县"},{"code":"532927","name":"巍山彝族回族自治县"},{"code":"532928","name":"永平县"},{"code":"532929","name":"云龙县"},{"code":"532930","name":"洱源县"},{"code":"532931","name":"剑川县"},{"code":"532932","name":"鹤庆县"}]},{"code":"5331","name":"德宏傣族景颇族自治州","children":[{"code":"533102","name":"瑞丽市"},{"code":"533103","name":"芒市"},{"code":"533122","name":"梁河县"},{"code":"533123","name":"盈江县"},{"code":"533124","name":"陇川县"}]},{"code":"5333","name":"怒江傈僳族自治州","children":[{"code":"533301","name":"泸水市"},{"code":"533323","name":"福贡县"},{"code":"533324","name":"贡山独龙族怒族自治县"},{"code":"533325","name":"兰坪白族普米族自治县"}]},{"code":"5334","name":"迪庆藏族自治州","children":[{"code":"533401","name":"香格里拉市"},{"code":"533422","name":"德钦县"},{"code":"533423","name":"维西傈僳族自治县"}]}]},{"code":"54","name":"西藏自治区","children":[{"code":"5401","name":"拉萨市","children":[{"code":"540102","name":"城关区"},{"code":"540103","name":"堆龙德庆区"},{"code":"540121","name":"林周县"},{"code":"540122","name":"当雄县"},{"code":"540123","name":"尼木县"},{"code":"540124","name":"曲水县"},{"code":"540126","name":"达孜县"},{"code":"540127","name":"墨竹工卡县"},{"code":"540171","name":"格尔木藏青工业园区"},{"code":"540172","name":"拉萨经济技术开发区"},{"code":"540173","name":"西藏文化旅游创意园区"},{"code":"540174","name":"达孜工业园区"}]},{"code":"5402","name":"日喀则市","children":[{"code":"540202","name":"桑珠孜区"},{"code":"540221","name":"南木林县"},{"code":"540222","name":"江孜县"},{"code":"540223","name":"定日县"},{"code":"540224","name":"萨迦县"},{"code":"540225","name":"拉孜县"},{"code":"540226","name":"昂仁县"},{"code":"540227","name":"谢通门县"},{"code":"540228","name":"白朗县"},{"code":"540229","name":"仁布县"},{"code":"540230","name":"康马县"},{"code":"540231","name":"定结县"},{"code":"540232","name":"仲巴县"},{"code":"540233","name":"亚东县"},{"code":"540234","name":"吉隆县"},{"code":"540235","name":"聂拉木县"},{"code":"540236","name":"萨嘎县"},{"code":"540237","name":"岗巴县"}]},{"code":"5403","name":"昌都市","children":[{"code":"540302","name":"卡若区"},{"code":"540321","name":"江达县"},{"code":"540322","name":"贡觉县"},{"code":"540323","name":"类乌齐县"},{"code":"540324","name":"丁青县"},{"code":"540325","name":"察雅县"},{"code":"540326","name":"八宿县"},{"code":"540327","name":"左贡县"},{"code":"540328","name":"芒康县"},{"code":"540329","name":"洛隆县"},{"code":"540330","name":"边坝县"}]},{"code":"5404","name":"林芝市","children":[{"code":"540402","name":"巴宜区"},{"code":"540421","name":"工布江达县"},{"code":"540422","name":"米林县"},{"code":"540423","name":"墨脱县"},{"code":"540424","name":"波密县"},{"code":"540425","name":"察隅县"},{"code":"540426","name":"朗县"}]},{"code":"5405","name":"山南市","children":[{"code":"540502","name":"乃东区"},{"code":"540521","name":"扎囊县"},{"code":"540522","name":"贡嘎县"},{"code":"540523","name":"桑日县"},{"code":"540524","name":"琼结县"},{"code":"540525","name":"曲松县"},{"code":"540526","name":"措美县"},{"code":"540527","name":"洛扎县"},{"code":"540528","name":"加查县"},{"code":"540529","name":"隆子县"},{"code":"540530","name":"错那县"},{"code":"540531","name":"浪卡子县"}]},{"code":"5424","name":"那曲地区","children":[{"code":"542421","name":"那曲县"},{"code":"542422","name":"嘉黎县"},{"code":"542423","name":"比如县"},{"code":"542424","name":"聂荣县"},{"code":"542425","name":"安多县"},{"code":"542426","name":"申扎县"},{"code":"542427","name":"索县"},{"code":"542428","name":"班戈县"},{"code":"542429","name":"巴青县"},{"code":"542430","name":"尼玛县"},{"code":"542431","name":"双湖县"}]},{"code":"5425","name":"阿里地区","children":[{"code":"542521","name":"普兰县"},{"code":"542522","name":"札达县"},{"code":"542523","name":"噶尔县"},{"code":"542524","name":"日土县"},{"code":"542525","name":"革吉县"},{"code":"542526","name":"改则县"},{"code":"542527","name":"措勤县"}]}]},{"code":"61","name":"陕西省","children":[{"code":"6101","name":"西安市","children":[{"code":"610102","name":"新城区"},{"code":"610103","name":"碑林区"},{"code":"610104","name":"莲湖区"},{"code":"610111","name":"灞桥区"},{"code":"610112","name":"未央区"},{"code":"610113","name":"雁塔区"},{"code":"610114","name":"阎良区"},{"code":"610115","name":"临潼区"},{"code":"610116","name":"长安区"},{"code":"610117","name":"高陵区"},{"code":"610118","name":"鄠邑区"},{"code":"610122","name":"蓝田县"},{"code":"610124","name":"周至县"}]},{"code":"6102","name":"铜川市","children":[{"code":"610202","name":"王益区"},{"code":"610203","name":"印台区"},{"code":"610204","name":"耀州区"},{"code":"610222","name":"宜君县"}]},{"code":"6103","name":"宝鸡市","children":[{"code":"610302","name":"渭滨区"},{"code":"610303","name":"金台区"},{"code":"610304","name":"陈仓区"},{"code":"610322","name":"凤翔县"},{"code":"610323","name":"岐山县"},{"code":"610324","name":"扶风县"},{"code":"610326","name":"眉县"},{"code":"610327","name":"陇县"},{"code":"610328","name":"千阳县"},{"code":"610329","name":"麟游县"},{"code":"610330","name":"凤县"},{"code":"610331","name":"太白县"}]},{"code":"6104","name":"咸阳市","children":[{"code":"610402","name":"秦都区"},{"code":"610403","name":"杨陵区"},{"code":"610404","name":"渭城区"},{"code":"610422","name":"三原县"},{"code":"610423","name":"泾阳县"},{"code":"610424","name":"乾县"},{"code":"610425","name":"礼泉县"},{"code":"610426","name":"永寿县"},{"code":"610427","name":"彬县"},{"code":"610428","name":"长武县"},{"code":"610429","name":"旬邑县"},{"code":"610430","name":"淳化县"},{"code":"610431","name":"武功县"},{"code":"610481","name":"兴平市"}]},{"code":"6105","name":"渭南市","children":[{"code":"610502","name":"临渭区"},{"code":"610503","name":"华州区"},{"code":"610522","name":"潼关县"},{"code":"610523","name":"大荔县"},{"code":"610524","name":"合阳县"},{"code":"610525","name":"澄城县"},{"code":"610526","name":"蒲城县"},{"code":"610527","name":"白水县"},{"code":"610528","name":"富平县"},{"code":"610581","name":"韩城市"},{"code":"610582","name":"华阴市"}]},{"code":"6106","name":"延安市","children":[{"code":"610602","name":"宝塔区"},{"code":"610603","name":"安塞区"},{"code":"610621","name":"延长县"},{"code":"610622","name":"延川县"},{"code":"610623","name":"子长县"},{"code":"610625","name":"志丹县"},{"code":"610626","name":"吴起县"},{"code":"610627","name":"甘泉县"},{"code":"610628","name":"富县"},{"code":"610629","name":"洛川县"},{"code":"610630","name":"宜川县"},{"code":"610631","name":"黄龙县"},{"code":"610632","name":"黄陵县"}]},{"code":"6107","name":"汉中市","children":[{"code":"610702","name":"汉台区"},{"code":"610703","name":"南郑区"},{"code":"610722","name":"城固县"},{"code":"610723","name":"洋县"},{"code":"610724","name":"西乡县"},{"code":"610725","name":"勉县"},{"code":"610726","name":"宁强县"},{"code":"610727","name":"略阳县"},{"code":"610728","name":"镇巴县"},{"code":"610729","name":"留坝县"},{"code":"610730","name":"佛坪县"}]},{"code":"6108","name":"榆林市","children":[{"code":"610802","name":"榆阳区"},{"code":"610803","name":"横山区"},{"code":"610822","name":"府谷县"},{"code":"610824","name":"靖边县"},{"code":"610825","name":"定边县"},{"code":"610826","name":"绥德县"},{"code":"610827","name":"米脂县"},{"code":"610828","name":"佳县"},{"code":"610829","name":"吴堡县"},{"code":"610830","name":"清涧县"},{"code":"610831","name":"子洲县"},{"code":"610881","name":"神木市"}]},{"code":"6109","name":"安康市","children":[{"code":"610902","name":"汉滨区"},{"code":"610921","name":"汉阴县"},{"code":"610922","name":"石泉县"},{"code":"610923","name":"宁陕县"},{"code":"610924","name":"紫阳县"},{"code":"610925","name":"岚皋县"},{"code":"610926","name":"平利县"},{"code":"610927","name":"镇坪县"},{"code":"610928","name":"旬阳县"},{"code":"610929","name":"白河县"}]},{"code":"6110","name":"商洛市","children":[{"code":"611002","name":"商州区"},{"code":"611021","name":"洛南县"},{"code":"611022","name":"丹凤县"},{"code":"611023","name":"商南县"},{"code":"611024","name":"山阳县"},{"code":"611025","name":"镇安县"},{"code":"611026","name":"柞水县"}]}]},{"code":"62","name":"甘肃省","children":[{"code":"6201","name":"兰州市","children":[{"code":"620102","name":"城关区"},{"code":"620103","name":"七里河区"},{"code":"620104","name":"西固区"},{"code":"620105","name":"安宁区"},{"code":"620111","name":"红古区"},{"code":"620121","name":"永登县"},{"code":"620122","name":"皋兰县"},{"code":"620123","name":"榆中县"},{"code":"620171","name":"兰州新区"}]},{"code":"6202","name":"嘉峪关市","children":[{"code":"620201100","name":"新城镇"},{"code":"620201101","name":"峪泉镇"},{"code":"620201102","name":"文殊镇"},{"code":"620201401","name":"雄关区"},{"code":"620201402","name":"镜铁区"},{"code":"620201403","name":"长城区"}]},{"code":"6203","name":"金昌市","children":[{"code":"620302","name":"金川区"},{"code":"620321","name":"永昌县"}]},{"code":"6204","name":"白银市","children":[{"code":"620402","name":"白银区"},{"code":"620403","name":"平川区"},{"code":"620421","name":"靖远县"},{"code":"620422","name":"会宁县"},{"code":"620423","name":"景泰县"}]},{"code":"6205","name":"天水市","children":[{"code":"620502","name":"秦州区"},{"code":"620503","name":"麦积区"},{"code":"620521","name":"清水县"},{"code":"620522","name":"秦安县"},{"code":"620523","name":"甘谷县"},{"code":"620524","name":"武山县"},{"code":"620525","name":"张家川回族自治县"}]},{"code":"6206","name":"武威市","children":[{"code":"620602","name":"凉州区"},{"code":"620621","name":"民勤县"},{"code":"620622","name":"古浪县"},{"code":"620623","name":"天祝藏族自治县"}]},{"code":"6207","name":"张掖市","children":[{"code":"620702","name":"甘州区"},{"code":"620721","name":"肃南裕固族自治县"},{"code":"620722","name":"民乐县"},{"code":"620723","name":"临泽县"},{"code":"620724","name":"高台县"},{"code":"620725","name":"山丹县"}]},{"code":"6208","name":"平凉市","children":[{"code":"620802","name":"崆峒区"},{"code":"620821","name":"泾川县"},{"code":"620822","name":"灵台县"},{"code":"620823","name":"崇信县"},{"code":"620824","name":"华亭县"},{"code":"620825","name":"庄浪县"},{"code":"620826","name":"静宁县"},{"code":"620871","name":"平凉工业园区"}]},{"code":"6209","name":"酒泉市","children":[{"code":"620902","name":"肃州区"},{"code":"620921","name":"金塔县"},{"code":"620922","name":"瓜州县"},{"code":"620923","name":"肃北蒙古族自治县"},{"code":"620924","name":"阿克塞哈萨克族自治县"},{"code":"620981","name":"玉门市"},{"code":"620982","name":"敦煌市"}]},{"code":"6210","name":"庆阳市","children":[{"code":"621002","name":"西峰区"},{"code":"621021","name":"庆城县"},{"code":"621022","name":"环县"},{"code":"621023","name":"华池县"},{"code":"621024","name":"合水县"},{"code":"621025","name":"正宁县"},{"code":"621026","name":"宁县"},{"code":"621027","name":"镇原县"}]},{"code":"6211","name":"定西市","children":[{"code":"621102","name":"安定区"},{"code":"621121","name":"通渭县"},{"code":"621122","name":"陇西县"},{"code":"621123","name":"渭源县"},{"code":"621124","name":"临洮县"},{"code":"621125","name":"漳县"},{"code":"621126","name":"岷县"}]},{"code":"6212","name":"陇南市","children":[{"code":"621202","name":"武都区"},{"code":"621221","name":"成县"},{"code":"621222","name":"文县"},{"code":"621223","name":"宕昌县"},{"code":"621224","name":"康县"},{"code":"621225","name":"西和县"},{"code":"621226","name":"礼县"},{"code":"621227","name":"徽县"},{"code":"621228","name":"两当县"}]},{"code":"6229","name":"临夏回族自治州","children":[{"code":"622901","name":"临夏市"},{"code":"622921","name":"临夏县"},{"code":"622922","name":"康乐县"},{"code":"622923","name":"永靖县"},{"code":"622924","name":"广河县"},{"code":"622925","name":"和政县"},{"code":"622926","name":"东乡族自治县"},{"code":"622927","name":"积石山保安族东乡族撒拉族自治县"}]},{"code":"6230","name":"甘南藏族自治州","children":[{"code":"623001","name":"合作市"},{"code":"623021","name":"临潭县"},{"code":"623022","name":"卓尼县"},{"code":"623023","name":"舟曲县"},{"code":"623024","name":"迭部县"},{"code":"623025","name":"玛曲县"},{"code":"623026","name":"碌曲县"},{"code":"623027","name":"夏河县"}]}]},{"code":"63","name":"青海省","children":[{"code":"6301","name":"西宁市","children":[{"code":"630102","name":"城东区"},{"code":"630103","name":"城中区"},{"code":"630104","name":"城西区"},{"code":"630105","name":"城北区"},{"code":"630121","name":"大通回族土族自治县"},{"code":"630122","name":"湟中县"},{"code":"630123","name":"湟源县"}]},{"code":"6302","name":"海东市","children":[{"code":"630202","name":"乐都区"},{"code":"630203","name":"平安区"},{"code":"630222","name":"民和回族土族自治县"},{"code":"630223","name":"互助土族自治县"},{"code":"630224","name":"化隆回族自治县"},{"code":"630225","name":"循化撒拉族自治县"}]},{"code":"6322","name":"海北藏族自治州","children":[{"code":"632221","name":"门源回族自治县"},{"code":"632222","name":"祁连县"},{"code":"632223","name":"海晏县"},{"code":"632224","name":"刚察县"}]},{"code":"6323","name":"黄南藏族自治州","children":[{"code":"632321","name":"同仁县"},{"code":"632322","name":"尖扎县"},{"code":"632323","name":"泽库县"},{"code":"632324","name":"河南蒙古族自治县"}]},{"code":"6325","name":"海南藏族自治州","children":[{"code":"632521","name":"共和县"},{"code":"632522","name":"同德县"},{"code":"632523","name":"贵德县"},{"code":"632524","name":"兴海县"},{"code":"632525","name":"贵南县"}]},{"code":"6326","name":"果洛藏族自治州","children":[{"code":"632621","name":"玛沁县"},{"code":"632622","name":"班玛县"},{"code":"632623","name":"甘德县"},{"code":"632624","name":"达日县"},{"code":"632625","name":"久治县"},{"code":"632626","name":"玛多县"}]},{"code":"6327","name":"玉树藏族自治州","children":[{"code":"632701","name":"玉树市"},{"code":"632722","name":"杂多县"},{"code":"632723","name":"称多县"},{"code":"632724","name":"治多县"},{"code":"632725","name":"囊谦县"},{"code":"632726","name":"曲麻莱县"}]},{"code":"6328","name":"海西蒙古族藏族自治州","children":[{"code":"632801","name":"格尔木市"},{"code":"632802","name":"德令哈市"},{"code":"632821","name":"乌兰县"},{"code":"632822","name":"都兰县"},{"code":"632823","name":"天峻县"},{"code":"632857","name":"大柴旦行政委员会"},{"code":"632858","name":"冷湖行政委员会"},{"code":"632859","name":"茫崖行政委员会"}]}]},{"code":"64","name":"宁夏回族自治区","children":[{"code":"6401","name":"银川市","children":[{"code":"640104","name":"兴庆区"},{"code":"640105","name":"西夏区"},{"code":"640106","name":"金凤区"},{"code":"640121","name":"永宁县"},{"code":"640122","name":"贺兰县"},{"code":"640181","name":"灵武市"}]},{"code":"6402","name":"石嘴山市","children":[{"code":"640202","name":"大武口区"},{"code":"640205","name":"惠农区"},{"code":"640221","name":"平罗县"}]},{"code":"6403","name":"吴忠市","children":[{"code":"640302","name":"利通区"},{"code":"640303","name":"红寺堡区"},{"code":"640323","name":"盐池县"},{"code":"640324","name":"同心县"},{"code":"640381","name":"青铜峡市"}]},{"code":"6404","name":"固原市","children":[{"code":"640402","name":"原州区"},{"code":"640422","name":"西吉县"},{"code":"640423","name":"隆德县"},{"code":"640424","name":"泾源县"},{"code":"640425","name":"彭阳县"}]},{"code":"6405","name":"中卫市","children":[{"code":"640502","name":"沙坡头区"},{"code":"640521","name":"中宁县"},{"code":"640522","name":"海原县"}]}]},{"code":"65","name":"新疆维吾尔自治区","children":[{"code":"6501","name":"乌鲁木齐市","children":[{"code":"650102","name":"天山区"},{"code":"650103","name":"沙依巴克区"},{"code":"650104","name":"新市区"},{"code":"650105","name":"水磨沟区"},{"code":"650106","name":"头屯河区"},{"code":"650107","name":"达坂城区"},{"code":"650109","name":"米东区"},{"code":"650121","name":"乌鲁木齐县"},{"code":"650171","name":"乌鲁木齐经济技术开发区"},{"code":"650172","name":"乌鲁木齐高新技术产业开发区"}]},{"code":"6502","name":"克拉玛依市","children":[{"code":"650202","name":"独山子区"},{"code":"650203","name":"克拉玛依区"},{"code":"650204","name":"白碱滩区"},{"code":"650205","name":"乌尔禾区"}]},{"code":"6504","name":"吐鲁番市","children":[{"code":"650402","name":"高昌区"},{"code":"650421","name":"鄯善县"},{"code":"650422","name":"托克逊县"}]},{"code":"6505","name":"哈密市","children":[{"code":"650502","name":"伊州区"},{"code":"650521","name":"巴里坤哈萨克自治县"},{"code":"650522","name":"伊吾县"}]},{"code":"6523","name":"昌吉回族自治州","children":[{"code":"652301","name":"昌吉市"},{"code":"652302","name":"阜康市"},{"code":"652323","name":"呼图壁县"},{"code":"652324","name":"玛纳斯县"},{"code":"652325","name":"奇台县"},{"code":"652327","name":"吉木萨尔县"},{"code":"652328","name":"木垒哈萨克自治县"}]},{"code":"6527","name":"博尔塔拉蒙古自治州","children":[{"code":"652701","name":"博乐市"},{"code":"652702","name":"阿拉山口市"},{"code":"652722","name":"精河县"},{"code":"652723","name":"温泉县"}]},{"code":"6528","name":"巴音郭楞蒙古自治州","children":[{"code":"652801","name":"库尔勒市"},{"code":"652822","name":"轮台县"},{"code":"652823","name":"尉犁县"},{"code":"652824","name":"若羌县"},{"code":"652825","name":"且末县"},{"code":"652826","name":"焉耆回族自治县"},{"code":"652827","name":"和静县"},{"code":"652828","name":"和硕县"},{"code":"652829","name":"博湖县"},{"code":"652871","name":"库尔勒经济技术开发区"}]},{"code":"6529","name":"阿克苏地区","children":[{"code":"652901","name":"阿克苏市"},{"code":"652922","name":"温宿县"},{"code":"652923","name":"库车县"},{"code":"652924","name":"沙雅县"},{"code":"652925","name":"新和县"},{"code":"652926","name":"拜城县"},{"code":"652927","name":"乌什县"},{"code":"652928","name":"阿瓦提县"},{"code":"652929","name":"柯坪县"}]},{"code":"6530","name":"克孜勒苏柯尔克孜自治州","children":[{"code":"653001","name":"阿图什市"},{"code":"653022","name":"阿克陶县"},{"code":"653023","name":"阿合奇县"},{"code":"653024","name":"乌恰县"}]},{"code":"6531","name":"喀什地区","children":[{"code":"653101","name":"喀什市"},{"code":"653121","name":"疏附县"},{"code":"653122","name":"疏勒县"},{"code":"653123","name":"英吉沙县"},{"code":"653124","name":"泽普县"},{"code":"653125","name":"莎车县"},{"code":"653126","name":"叶城县"},{"code":"653127","name":"麦盖提县"},{"code":"653128","name":"岳普湖县"},{"code":"653129","name":"伽师县"},{"code":"653130","name":"巴楚县"},{"code":"653131","name":"塔什库尔干塔吉克自治县"}]},{"code":"6532","name":"和田地区","children":[{"code":"653201","name":"和田市"},{"code":"653221","name":"和田县"},{"code":"653222","name":"墨玉县"},{"code":"653223","name":"皮山县"},{"code":"653224","name":"洛浦县"},{"code":"653225","name":"策勒县"},{"code":"653226","name":"于田县"},{"code":"653227","name":"民丰县"}]},{"code":"6540","name":"伊犁哈萨克自治州","children":[{"code":"654002","name":"伊宁市"},{"code":"654003","name":"奎屯市"},{"code":"654004","name":"霍尔果斯市"},{"code":"654021","name":"伊宁县"},{"code":"654022","name":"察布查尔锡伯自治县"},{"code":"654023","name":"霍城县"},{"code":"654024","name":"巩留县"},{"code":"654025","name":"新源县"},{"code":"654026","name":"昭苏县"},{"code":"654027","name":"特克斯县"},{"code":"654028","name":"尼勒克县"}]},{"code":"6542","name":"塔城地区","children":[{"code":"654201","name":"塔城市"},{"code":"654202","name":"乌苏市"},{"code":"654221","name":"额敏县"},{"code":"654223","name":"沙湾县"},{"code":"654224","name":"托里县"},{"code":"654225","name":"裕民县"},{"code":"654226","name":"和布克赛尔蒙古自治县"}]},{"code":"6543","name":"阿勒泰地区","children":[{"code":"654301","name":"阿勒泰市"},{"code":"654321","name":"布尔津县"},{"code":"654322","name":"富蕴县"},{"code":"654323","name":"福海县"},{"code":"654324","name":"哈巴河县"},{"code":"654325","name":"青河县"},{"code":"654326","name":"吉木乃县"}]},{"code":"6590","name":"自治区直辖县级行政区划","children":[{"code":"659001","name":"石河子市"},{"code":"659002","name":"阿拉尔市"},{"code":"659003","name":"图木舒克市"},{"code":"659004","name":"五家渠市"},{"code":"659006","name":"铁门关市"}]}]}] \ No newline at end of file diff --git a/src/assets/zorro.svg b/src/assets/zorro.svg new file mode 100644 index 00000000..059bf561 --- /dev/null +++ b/src/assets/zorro.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/conf/api.conf.ts b/src/conf/api.conf.ts new file mode 100644 index 00000000..6965c253 --- /dev/null +++ b/src/conf/api.conf.ts @@ -0,0 +1,9 @@ +/** + * 通用API路径配置 + */ +export const apiConf = { + /** + * 文件上传路径 + */ + fileUpload: ``, +}; diff --git a/src/conf/cache.conf.ts b/src/conf/cache.conf.ts new file mode 100644 index 00000000..98aeb6e1 --- /dev/null +++ b/src/conf/cache.conf.ts @@ -0,0 +1,49 @@ +/** + * 缓存数据键名配置 + */ +export const cacheConf = { + /** + * App信息 + */ + app: '_app', + /** + * 环境信息 + */ + env: '_env', + /** + * 地区信息 + */ + region: '_region', + /** + * 角色信息 + */ + role: '_role', + /** + * Token + */ + token: '_token', + /** + * 用户信息 + */ + user: '_user', + /** + * 权限数据 + */ + permission: `_permission`, + /** + * 最后操作时间 + */ + last_operation_time: '_lpt', + /** + * 是否显示Tabs栏 + */ + show_tabs_bar: '_stb', + /** + * 企业信息 + */ + enterprise: '_enterprise', + /** + * 菜单信息 + */ + menu: '_menu', +}; diff --git a/src/conf/environment.conf.ts b/src/conf/environment.conf.ts new file mode 100644 index 00000000..ae59d776 --- /dev/null +++ b/src/conf/environment.conf.ts @@ -0,0 +1,48 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 09:57:14 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-30 17:29:50 + * @Description: 全局环境配置信息 + */ + +/** + * 环境配置信息 + */ +export const environmentConf = { + // 网易盾ID + captchaId: '73aa170bb84a42feb63ec5fe01795d36', + // 是否允许不关联企业的时候能否登录 + allowNoEnterprise: true, + /** + * 缓存键名配置 + */ + cacheKey: { + /** + * 环境配置 + */ + environment: '_env', + /** + * 企业信息 + */ + enterprise: '_enterprise', + /** + * 地区信息 + */ + region: '_region', + /** + * 角色信息 + */ + role: '_role', + }, + // 全局通用API配置 + apiPath: { + // 文件上传路径 + fileUploadUrl: `/scce/pbc/pbc/upload/multipartFile/fileModel`, + }, + pdf: { + sourceServer: 'https://scce-cos-obs.obs.cn-south-1.myhuaweicloud.com:443', + targetServer: 'https://sce-cos-api-test.380star.com:443', + prefix: '/huawei/obs', + }, +}; diff --git a/src/conf/event.conf.ts b/src/conf/event.conf.ts new file mode 100644 index 00000000..723f9346 --- /dev/null +++ b/src/conf/event.conf.ts @@ -0,0 +1,13 @@ +/** + * 全局事件配置名称 + */ +export const eventConf = { + /** + * 是否显示Tabs栏 + */ + show_tabs_bar: 'STB', + /** + * 刷新登录状态 + */ + reflesh_login_status: 'LOGIN', +}; diff --git a/src/conf/keys.conf.ts b/src/conf/keys.conf.ts new file mode 100644 index 00000000..3e5d379c --- /dev/null +++ b/src/conf/keys.conf.ts @@ -0,0 +1,11 @@ +/* eslint-disable @typescript-eslint/naming-convention */ + +/** + * 第三方控件键值 + */ +export const keysConf = { + /** + * 网易云盾ID + */ + yidun_capcha_id: `73aa170bb84a42feb63ec5fe01795d36`, +}; diff --git a/src/conf/sys.conf.ts b/src/conf/sys.conf.ts new file mode 100644 index 00000000..cae505ca --- /dev/null +++ b/src/conf/sys.conf.ts @@ -0,0 +1,34 @@ +/* eslint-disable @typescript-eslint/naming-convention */ + +/** + * 系统关键配置 + */ +export const sysConf = { + /** + * 应用ID + */ + appId: ``, + /** + * 登录路径 + */ + login_url: `/account/login`, + /** + * 缓存过期时间 + */ + cache_expiration_time: 60 * 60 * 24 * 2, + /** + * 加密键名 + */ + encrypt_key: `LKJDSKFHFKJKFDS`, + /** + * 显示Tabs工具栏 + */ + show_tabs_path: [ + '/tabs/home/index', + '/tabs/service/index', + '/tabs/industry/index', + '/tabs/partner/index', + '/tabs/community/index', + '/tabs/my/index', + ], +}; diff --git a/src/environments/eascs/environment.demo.ts b/src/environments/eascs/environment.demo.ts new file mode 100644 index 00000000..0b90a716 --- /dev/null +++ b/src/environments/eascs/environment.demo.ts @@ -0,0 +1,19 @@ +/* + * @Description: + * @Author: wsm + * @Date: 2021-06-18 16:12:05 + * @LastEditTime: 2021-07-14 10:17:39 + * @LastEditors: Do not edit + * @Reference: + */ +import { Environment } from '@delon/theme'; + +export const environment = { + production: true, + useHash: true, + api: { + baseUrl: 'https://scm-api-test.eascs.com', + refreshTokenEnabled: false, + refreshTokenType: 'auth-refresh', + }, +} as Environment; diff --git a/src/environments/eascs/environment.dev.ts b/src/environments/eascs/environment.dev.ts new file mode 100644 index 00000000..d4f0476c --- /dev/null +++ b/src/environments/eascs/environment.dev.ts @@ -0,0 +1,19 @@ +/* + * @Description: + * @Author: wsm + * @Date: 2021-06-18 16:12:05 + * @LastEditTime: 2021-06-30 11:08:23 + * @LastEditors: wsm + * @Reference: + */ +import { Environment } from '@delon/theme'; + +export const environment = { + production: true, + useHash: true, + api: { + baseUrl: 'https://scm-api-test.eascs.com', + refreshTokenEnabled: false, + refreshTokenType: 'auth-refresh', + }, +} as Environment; diff --git a/src/environments/eascs/environment.pre.ts b/src/environments/eascs/environment.pre.ts new file mode 100644 index 00000000..94f745b7 --- /dev/null +++ b/src/environments/eascs/environment.pre.ts @@ -0,0 +1,11 @@ +import { Environment } from '@delon/theme'; + +export const environment = { + production: true, + useHash: true, + api: { + baseUrl: 'https://scm-api-pre.eascs.com', + refreshTokenEnabled: false, + refreshTokenType: 'auth-refresh', + }, +} as Environment; diff --git a/src/environments/eascs/environment.prod.ts b/src/environments/eascs/environment.prod.ts new file mode 100644 index 00000000..25a7ea67 --- /dev/null +++ b/src/environments/eascs/environment.prod.ts @@ -0,0 +1,11 @@ +import { Environment } from '@delon/theme'; + +export const environment = { + production: true, + useHash: true, + api: { + baseUrl: 'https://scm-api.eascs.com', + refreshTokenEnabled: false, + refreshTokenType: 'auth-refresh', + }, +} as Environment; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 00000000..327f2f04 --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,11 @@ +import { Environment } from '@delon/theme'; + +export const environment = { + production: true, + useHash: true, + api: { + baseUrl: './', + refreshTokenEnabled: true, + refreshTokenType: 'auth-refresh' + } +} as Environment; diff --git a/src/environments/environment.service.ts b/src/environments/environment.service.ts new file mode 100644 index 00000000..935f7425 --- /dev/null +++ b/src/environments/environment.service.ts @@ -0,0 +1,38 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 09:50:07 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 11:37:17 + * @Description:全局环境服务 + */ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root', +}) +export class EnvironmentService { + // 应用ID + private appId = `D40B4EFC33FC4803864934872A11B0CE`; + // 租户ID + private tenantId = `1352892699355607041`; + private env: { appId: string; tenantId: string } = { appId: this.appId, tenantId: this.tenantId }; + constructor() { + this.setEnvironment(this.appId, this.tenantId); + } + /** + * 设置环境信息 + * @param appId 应用ID + * @param tenantId 租户ID + */ + setEnvironment(appId: string, tenantId: string): void { + this.env = { appId, tenantId }; + } + + /** + * 获取环境信息 + * @returns 环境信息 + */ + getEnvironment() { + return this.env; + } +} diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 00000000..494c5943 --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,27 @@ +// 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`. + +import { DelonMockModule } from '@delon/mock'; +import { Environment } from '@delon/theme'; + +import * as MOCKDATA from '../../_mock'; + +export const environment = { + production: false, + useHash: true, + api: { + baseUrl: './', + refreshTokenEnabled: true, + refreshTokenType: 'auth-refresh' + }, + modules: [DelonMockModule.forRoot({ data: MOCKDATA })] +} as Environment; + +/* + * 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/plugins/zone-error'; // Included with Angular CLI. diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 00000000..5fdadf51 Binary files /dev/null and b/src/favicon.ico differ diff --git a/src/index.html b/src/index.html new file mode 100644 index 00000000..73df0de3 --- /dev/null +++ b/src/index.html @@ -0,0 +1,48 @@ + + + + + Ng Alain Pro + + + + + + + + + + + +
    +
    + +
    +
    + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 00000000..2cea227c --- /dev/null +++ b/src/main.ts @@ -0,0 +1,27 @@ +import { enableProdMode, ViewEncapsulation } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { preloaderFinished } from '@delon/theme'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +preloaderFinished(); + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic() + .bootstrapModule(AppModule, { + defaultEncapsulation: ViewEncapsulation.Emulated, + preserveWhitespaces: false + }) + .then(res => { + const win = window as NzSafeAny; + if (win && win.appBootstrap) { + win.appBootstrap(); + } + return res; + }) + .catch(err => console.error(err)); diff --git a/src/polyfills.ts b/src/polyfills.ts new file mode 100644 index 00000000..bf9c6797 --- /dev/null +++ b/src/polyfills.ts @@ -0,0 +1,64 @@ +(window as any).global = window; +/* eslint-disable import/no-unassigned-import */ +/** + * 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/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * 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 + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (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__UNPATCHED_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'; // Included with Angular CLI. + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/src/style-icons-auto.ts b/src/style-icons-auto.ts new file mode 100644 index 00000000..1fda870f --- /dev/null +++ b/src/style-icons-auto.ts @@ -0,0 +1,106 @@ +/* + * Automatically generated by 'ng g ng-alain:plugin icon' + * @see https://ng-alain.com/cli/plugin#icon + */ + +import { + AlipayCircleOutline, + ApiOutline, + AppstoreOutline, + ArrowDownOutline, + BookOutline, + BorderLeftOutline, + BorderRightOutline, + CloudOutline, + CopyrightOutline, + CustomerServiceOutline, + DashboardOutline, + DatabaseOutline, + DingdingOutline, + DislikeOutline, + DownloadOutline, + ForkOutline, + FrownOutline, + FullscreenExitOutline, + FullscreenOutline, + GithubOutline, + GlobalOutline, + HddOutline, + LaptopOutline, + LikeOutline, + LockOutline, + LogoutOutline, + MailOutline, + MenuFoldOutline, + MenuUnfoldOutline, + MessageOutline, + PayCircleOutline, + PieChartOutline, + PrinterOutline, + RocketOutline, + ScanOutline, + SettingOutline, + ShareAltOutline, + ShoppingCartOutline, + SoundOutline, + StarOutline, + TaobaoCircleOutline, + TaobaoOutline, + TeamOutline, + ToolOutline, + TrophyOutline, + UsbOutline, + UserOutline, + WeiboCircleOutline +} from '@ant-design/icons-angular/icons'; + +export const ICONS_AUTO = [ + AlipayCircleOutline, + ApiOutline, + AppstoreOutline, + ArrowDownOutline, + BookOutline, + BorderLeftOutline, + BorderRightOutline, + CloudOutline, + CopyrightOutline, + CustomerServiceOutline, + DashboardOutline, + DatabaseOutline, + DingdingOutline, + DislikeOutline, + DownloadOutline, + ForkOutline, + FrownOutline, + FullscreenExitOutline, + FullscreenOutline, + GithubOutline, + GlobalOutline, + HddOutline, + LaptopOutline, + LikeOutline, + LockOutline, + LogoutOutline, + MailOutline, + MenuFoldOutline, + MenuUnfoldOutline, + MessageOutline, + PayCircleOutline, + PieChartOutline, + PrinterOutline, + RocketOutline, + ScanOutline, + SettingOutline, + ShareAltOutline, + ShoppingCartOutline, + SoundOutline, + StarOutline, + TaobaoCircleOutline, + TaobaoOutline, + TeamOutline, + ToolOutline, + TrophyOutline, + UsbOutline, + UserOutline, + WeiboCircleOutline +]; diff --git a/src/style-icons.ts b/src/style-icons.ts new file mode 100644 index 00000000..d6dff4dc --- /dev/null +++ b/src/style-icons.ts @@ -0,0 +1,13 @@ +// Custom icon static resources + +import { + BulbOutline, + ExceptionOutline, + FileZipOutline, + FolderOutline, + InfoOutline, + LinkOutline, + ProfileOutline +} from '@ant-design/icons-angular/icons'; + +export const ICONS = [InfoOutline, BulbOutline, ProfileOutline, ExceptionOutline, LinkOutline, FolderOutline, FileZipOutline]; diff --git a/src/styles.less b/src/styles.less new file mode 100644 index 00000000..b2f747e8 --- /dev/null +++ b/src/styles.less @@ -0,0 +1,7 @@ +@import '~@delon/theme/system/index'; +@import '~@delon/abc/index'; +@import '~@delon/chart/index'; +@import 'app/layout/pro/styles/index.less'; + +@import './styles/index'; +@import './styles/theme'; diff --git a/src/styles/fix/_chat.less b/src/styles/fix/_chat.less new file mode 100644 index 00000000..70f31869 --- /dev/null +++ b/src/styles/fix/_chat.less @@ -0,0 +1,139 @@ +@chat-prefix: ~'.chat'; + +@{chat-prefix} { + &__container { + display: flex; + overflow: hidden; + background: @chat-background; + border: 1px solid @border-color-split; + } + &__scroll { + &-container { + position: relative; + width: 100%; + } + } + &__sidebox { + display: flex; + flex-direction: column; + width: @chat-sidebox-width; + box-shadow: @shadow-1-right; + transition: 0.2s all; + } + &__contact { + display: flex; + align-items: center; + padding: 8px 16px; + color: #4e5155; + cursor: pointer; + &:hover:not(.chat__contact-active) { + background-color: rgba(24, 28, 33, 0.03); + } + .ant-badge-status-text { + color: #52c41a; + font-size: 12px; + } + &-offline { + opacity: 0.7; + .ant-badge-status-text { + color: #f5222d; + } + } + &-active { + background-color: #e84c64; + &, + .ant-badge-status-text { + color: #fff; + } + } + } + &__user { + &-avatar { + height: 40px; + border-radius: 50%; + } + } + &__message { + &-container { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + padding: 24px; + } + + display: flex; + flex-shrink: 0; + margin-bottom: 8px; + &-left { + margin-right: @chat-avatar-box-width + 8px; + .chat__message-avatar { + margin-right: 8px; + } + } + &-right { + flex-direction: row-reverse; + margin-left: @chat-avatar-box-width + 8px; + .chat__message-avatar { + margin-left: 8px; + } + } + &-send { + text-align: center; + } + &-avatar { + width: @chat-avatar-box-width; + text-align: center; + } + &-text { + width: 100%; + color: @grey-6; + font-size: 12px; + text-align: center; + } + &-time { + padding-top: 2px; + color: @grey-6; + font-size: 12px; + white-space: nowrap; + } + &-msg { + padding: 4px 8px; + background: @chat-message-item-bg; + border-radius: 4px; + &--name { + display: block; + margin-bottom: 2px; + } + } + } +} + +.chat-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{chat-prefix} { + &__message { + &-left { + margin-right: inherit; + margin-left: @chat-avatar-box-width + 8px; + .chat__message-avatar { + margin-right: inherit; + margin-left: 8px; + } + } + &-right { + margin-right: inherit; + margin-left: @chat-avatar-box-width + 8px; + .chat__message-avatar { + margin-right: inherit; + margin-left: 8px; + } + } + } + } + } +} +.chat-rtl-mixin(@rtl-enabled); diff --git a/src/styles/fix/_file-manager.less b/src/styles/fix/_file-manager.less new file mode 100644 index 00000000..ec9d0cd6 --- /dev/null +++ b/src/styles/fix/_file-manager.less @@ -0,0 +1,135 @@ +app-file-manager file-manager { + display: block; + padding: 24px; + background: @popover-background; +} + +.file { + &-manager { + display: flex; + flex-wrap: wrap; + margin-top: 16px; + &__header { + display: flex; + align-items: center; + margin-top: 16px; + padding: 0 32px 4px 12px; + font-weight: 700; + border-bottom: 2px solid rgba(0, 0, 0, 0.05); + &-name { + flex: 1; + } + &-pixel { + width: 150px; + } + &-time { + width: 130px; + } + } + &__small { + .file-item { + display: flex; + align-items: center; + width: 100%; + margin: 0 0 2px; + padding: 4px 32px 4px 0; + text-align: left; + &__icon, + &__img { + display: block; + width: 32px; + height: 32px; + margin: 0 8px; + font-size: 20px; + line-height: 32px; + text-align: center; + } + &__name { + flex: 1; + } + &__pixel { + position: inherit; + width: 150px; + > span { + background: none; + } + } + &__time { + display: block; + width: 130px; + } + } + } + } + &-item { + position: relative; + z-index: 1; + flex: 0 0 auto; + flex-shrink: 0; + width: 9rem; + margin: 0 8px 8px 0; + padding: 16px 0 24px; + text-align: center; + border: 1px solid transparent; + cursor: pointer; + &:hover { + border-color: rgba(0, 0, 0, 0.05); + .file-item__actions { + display: block; + } + } + &__selected { + background-color: @file-item-selected-bg !important; + border-color: @file-item-selected-border-color !important; + .file-item__actions { + display: block; + } + } + &__icon { + display: block; + margin: 16px 0; + font-size: 40px; + } + &__img { + display: block; + width: 4rem; + height: 4rem; + margin: 0 auto 0.75rem; + font-size: 2.5rem; + line-height: 4rem; + background-color: transparent; + background-position: center center; + background-size: cover; + } + &__name { + height: 28px; + padding: 0 8px; + overflow: hidden; + color: @file-item-name-color; + line-height: 28px; + white-space: nowrap; + text-overflow: ellipsis; + } + &__pixel { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + > span { + display: block; + width: 100%; + padding: 2px 0; + background: rgba(0, 0, 0, 0.01); + } + } + &__time { + display: none; + } + &__actions { + position: absolute; + top: 8px; + right: 8px; + display: none; + } + } +} diff --git a/src/styles/fix/_passport.less b/src/styles/fix/_passport.less new file mode 100644 index 00000000..710dbbed --- /dev/null +++ b/src/styles/fix/_passport.less @@ -0,0 +1,58 @@ +@pro-passport-prefix: ~'.pro-passport'; + +@{pro-passport-prefix} { + display: flex; + flex-basis: 100%; + align-items: stretch; + justify-content: stretch; + min-height: 100vh; + overflow: hidden; + &__langs { + position: fixed; + top: 16px; + left: 16px; + z-index: 9999; + .alain-pro__header-item { + height: auto; + padding: 0; + } + .anticon { + color: #fff !important; + } + } + &__bg { + padding: 0 24px; + background-color: transparent; + background-position: center center; + background-size: cover; + &-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #000; + opacity: 0.4; + } + } + &__form { + padding: 32px; + &-logo { + height: 32px; + text-align: center; + img { + max-height: 100%; + } + } + &-title { + margin: 16px 0; + color: @grey-6; + text-align: center; + } + } + @media (max-width: @screen-md-max) { + &__form { + width: 100%; + } + } +} diff --git a/src/styles/fix/_quick-chat.less b/src/styles/fix/_quick-chat.less new file mode 100644 index 00000000..91bd964d --- /dev/null +++ b/src/styles/fix/_quick-chat.less @@ -0,0 +1,119 @@ +@quick-chat-prefix: ~'.quick-chat'; + +@{quick-chat-prefix} { + position: fixed; + top: auto; + right: 0; + bottom: 0; + left: auto; + z-index: 98; + display: flex; + flex: 1; + flex-direction: column; + width: 320px; + margin-right: 30px; + line-height: initial; + background-color: @quick-chat-bg; + border: 1px solid @quick-chat-border-color; + border-bottom: none; + border-radius: 4px 4px 0 0; + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14); + &__bar { + display: flex; + flex-direction: row; + align-items: center; + height: @quick-chat-bar-height; + border-bottom: 1px solid @quick-chat-border-color; + cursor: pointer; + user-select: none; + &--title { + flex: 1; + height: @quick-chat-bar-height; + padding-left: 16px; + font-size: 14px; + line-height: @quick-chat-bar-height; + &:hover { + background-color: lighten(@quick-chat-bg, 2%); + } + &-has-message { + animation: antSwingIn 1500ms infinite; + } + } + &--menu { + display: flex; + align-items: center; + height: @quick-chat-bar-height; + // padding: 0 8px 0 16px; + .anticon { + font-size: 18px; + } + } + &--close { + padding: 0 16px 0 8px; + } + } + &__body { + max-height: @quick-chat-content-height + @quick-chat-reply-height; + transition: max-height 0.5s cubic-bezier(0, 1, 0, 1); + } + &__content { + position: relative; + display: flex; + flex-direction: column; + height: @quick-chat-content-height; + .chat__scroll-container { + display: block; + } + } + &__reply { + height: @quick-chat-reply-height; + padding: 8px; + border-top: 1px solid @quick-chat-border-color; + &--ipt { + display: block; + width: 100%; + height: 100%; + background: transparent; + border: none; + outline: none; + } + } + + .chat__message { + align-items: center; + &-avatar { + width: 28px; + } + } + .chat__user-avatar { + height: 20px; + } + + // When collapsed + &__collapsed { + @{quick-chat-prefix}__body { + max-height: 0; + .chat__scroll-container { + display: none; + } + } + } +} + +.quick-chat-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{quick-chat-prefix} { + right: inherit; + left: 0; + margin-right: inherit; + margin-left: 30px; + &__bar { + &--title { + padding-right: 16px; + padding-left: 0; + } + } + } + } +} +.quick-chat-rtl-mixin(@rtl-enabled); diff --git a/src/styles/fix/_quill.less b/src/styles/fix/_quill.less new file mode 100644 index 00000000..46d5f2dc --- /dev/null +++ b/src/styles/fix/_quill.less @@ -0,0 +1,22 @@ +.quill-editor { + line-height: initial; + &.ng-dirty.ng-invalid { + .ql-toolbar, + .ql-container { + border-color: @error-color; + } + } +} + +@ql-sizes: '10px', '12px', '14px', '16px', '18px', '20px', '24px'; + +.ql-snow { + .for(@ql-sizes, { + .ql-size .ql-picker-label, + .ql-size .ql-picker-item { + &[data-value="@{adItem}"]::before { + content: '@{adItem}'; + } + } + }); +} diff --git a/src/styles/fix/_utils.less b/src/styles/fix/_utils.less new file mode 100644 index 00000000..794e76a9 --- /dev/null +++ b/src/styles/fix/_utils.less @@ -0,0 +1,99 @@ +.attachment { + display: flex; + align-items: center; + margin-bottom: 8px; + padding: 4px; + border: 1px solid @grey-4; + &-icon { + padding: 2px; + font-size: 40px; + } + &-img { + width: 64px; + height: 64px; + background-color: transparent; + background-position: center center; + background-size: cover; + } +} + +.feed { + &__icon { + position: relative; + &-tag { + position: absolute; + top: -6px; + right: -2px; + } + } +} + +.img { + &-thm { + position: relative; + display: block; + max-width: 100%; + height: auto; + background-color: transparent; + + &:hover { + .img-thm__icon { + opacity: 1; + } + } + + &__mask { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: block; + background-color: rgba(0, 0, 0, 0.3); + transition: all 0.2s ease-in-out; + } + + &__icon { + position: absolute; + top: 50%; + left: 50%; + z-index: 3; + display: block; + color: #fff; + font-size: 32px; + opacity: 0; + transition: all 0.2s ease-in-out; + } + + &__img { + z-index: 1; + max-width: 100%; + height: auto; + } + + &__zoom-in { + overflow: hidden; + .img-thm__icon { + transform: translate(-50%, -50%) scale(0.6); + } + .img-thm__img { + transition: all 0.3s ease-in-out; + } + &:hover { + .img-thm__icon { + transform: translate(-50%, -50%) scale(1); + } + .img-thm__img { + transform: scale(1.1); + } + } + } + + &:not(:hover):not(:focus) { + .img-thm__mask { + opacity: 0; + } + } + } +} diff --git a/src/styles/fix/antd.less b/src/styles/fix/antd.less new file mode 100644 index 00000000..d7fb07f3 --- /dev/null +++ b/src/styles/fix/antd.less @@ -0,0 +1,18 @@ +// 下拉菜单 +.dd { + // 按钮 + &-btn { + display: block; + width: 24px; + height: 24px; + color: @grey-6; + line-height: 24px; + text-align: center; + border-radius: 50%; + cursor: pointer; + &:hover { + background: @antd-dd-hover-background; + border: 1px solid @border-color-split; + } + } +} diff --git a/src/styles/fix/index.less b/src/styles/fix/index.less new file mode 100644 index 00000000..2400abfc --- /dev/null +++ b/src/styles/fix/index.less @@ -0,0 +1,10 @@ +@import './theme-default.less'; +@import './antd.less'; +// tools +@import './_utils.less'; +@import './_quill.less'; +@import './_file-manager.less'; +// pages +@import './_chat.less'; +@import './_passport.less'; +@import './_quick-chat.less'; \ No newline at end of file diff --git a/src/styles/fix/theme-compact.less b/src/styles/fix/theme-compact.less new file mode 100644 index 00000000..f8a7cd7a --- /dev/null +++ b/src/styles/fix/theme-compact.less @@ -0,0 +1 @@ +@import './theme-default.less'; diff --git a/src/styles/fix/theme-dark.less b/src/styles/fix/theme-dark.less new file mode 100644 index 00000000..10008349 --- /dev/null +++ b/src/styles/fix/theme-dark.less @@ -0,0 +1,10 @@ +@import './theme-default.less'; + +@chat-background: @popover-background; +@chat-message-item-bg: darken(@popover-background, 10%); + +@message-sidebox-bg: rgba(255, 255, 255, 0.03); + +@calendar_fc-event_background: @popover-background; + +@antd-dd-hover-background: @popover-background; diff --git a/src/styles/fix/theme-default.less b/src/styles/fix/theme-default.less new file mode 100644 index 00000000..1f7883fa --- /dev/null +++ b/src/styles/fix/theme-default.less @@ -0,0 +1,33 @@ +// chat +// -- +@chat-background: #fff; +@chat-sidebox-width: 250px; +@chat-avatar-box-width: 50px; +@chat-message-item-bg: @grey-3; + +// file-manager +// -- +@file-item-name-color: #4e5155; +@file-item-selected-border-color: @primary-color; +@file-item-selected-bg: @blue-1; + +// message +// -- +@message-sidebox-width: 250px; +@message-sidebox-bg: @grey-3; + +// quick-chat +// -- +@quick-chat-bg: @popover-background; +@quick-chat-border-color: @border-color-split; +@quick-chat-bar-height: 32px; +@quick-chat-content-height: 320px; +@quick-chat-reply-height: 50px; + +// calendar +// -- +@calendar_fc-event_background: #fff; + +// antd +// -- +@antd-dd-hover-background: @grey-3; diff --git a/src/styles/index.less b/src/styles/index.less new file mode 100644 index 00000000..c69234ef --- /dev/null +++ b/src/styles/index.less @@ -0,0 +1,3 @@ +/* You can add global styles to this file, and also import other style files */ + +@import './fix/index'; \ No newline at end of file diff --git a/src/styles/theme.less b/src/styles/theme.less new file mode 100644 index 00000000..89ff4bdd --- /dev/null +++ b/src/styles/theme.less @@ -0,0 +1,10 @@ +// You can directly set the default theme +// - `default` Default theme +// - `dark` Import the official dark less style file +// - `compact` Import the official compact less style file +@import '../app/layout/pro/styles/theme-default.less'; +@import './fix/theme-default.less'; + +// ==========Custom brand visual color========== + +// ==========Custom brand visual color========== diff --git a/src/test.ts b/src/test.ts new file mode 100644 index 00000000..6af344a5 --- /dev/null +++ b/src/test.ts @@ -0,0 +1,22 @@ +/* eslint-disable import/no-unassigned-import */ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/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/typings.d.ts b/src/typings.d.ts new file mode 100644 index 00000000..8cff5539 --- /dev/null +++ b/src/typings.d.ts @@ -0,0 +1,4 @@ +// # 3rd Party Library +// If the library doesn't have typings available at `@types/`, +// you can still use it by manually adding typings for it +declare module 'quill-image-resize-module'; diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 00000000..6bb6c9da --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": ["node"] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["src/**/*.d.ts"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..7188c1f7 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,46 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2015", + "module": "es2020", + "lib": [ + "es2018", + "dom" + ], + "paths": { + "@shared": [ + "src/app/shared/index" + ], + "@core": [ + "src/app/core/index" + ], + "@env/*": [ + "src/environments/*" + ], + "@brand": [ + "src/app/layout/pro/index" + ], + "@conf/*": [ + "src/conf/*" + ] + }, + "allowSyntheticDefaultImports": true + }, + "angularCompilerOptions": { + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tsconfig.spec.json b/tsconfig.spec.json new file mode 100644 index 00000000..6c31866e --- /dev/null +++ b/tsconfig.spec.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["jasmine", "node"] + }, + "files": ["src/test.ts", "src/polyfills.ts"], + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] +}