feat: 登录

This commit is contained in:
mozzie 2023-03-15 17:17:34 +08:00
parent c9db6741f2
commit c0d9192030
28 changed files with 6386 additions and 391 deletions

View File

@ -15,7 +15,8 @@
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-router-dom": "6.8.0", "react-router-dom": "6.8.0",
"@ant-design/icons": "5.0.1" "@ant-design/icons": "5.0.1",
"nanoid": "4.0.1"
}, },
"devDependencies": { "devDependencies": {
"@types/react": "^18.0.27", "@types/react": "^18.0.27",

View File

@ -23,3 +23,8 @@ export interface IAdminLogin {
username: string; username: string;
password: string; password: string;
} }
export interface IXcode {
expiretime: string;
code: string;
}

View File

@ -1,6 +1,11 @@
import R from "./request"; import R from "./request";
import P from "./process"; import P from "./process";
import { IAdminLogin, ICreateCourseRequest, IgetVodRequest } from "./dto"; import {
IAdminLogin,
ICreateCourseRequest,
IgetVodRequest,
IXcode,
} from "./dto";
/** /**
* vod媒资 * vod媒资
@ -13,3 +18,8 @@ export const createCourse = (p: ICreateCourseRequest) =>
export const adminLogin = (p: IAdminLogin) => export const adminLogin = (p: IAdminLogin) =>
R.post("/api/user/admin/auth", { ...p }); R.post("/api/user/admin/auth", { ...p });
export const createXCode = (codeList: IXcode[]) =>
R.post("/api/xcode/admin/create", codeList);
export const selectXCodeList = () => R.post("/api/xcode/admin/select/all");

View File

@ -1,6 +1,10 @@
import React, { Suspense } from "react"; import React, { Suspense } from "react";
import "./index.less"; import "./index.less";
import { VideoCameraAddOutlined, UserSwitchOutlined } from "@ant-design/icons"; import {
VideoCameraAddOutlined,
UserSwitchOutlined,
AuditOutlined,
} from "@ant-design/icons";
import { Layout, Menu, MenuProps, Spin, theme } from "antd"; import { Layout, Menu, MenuProps, Spin, theme } from "antd";
import { Route, Routes, useNavigate } from "react-router-dom"; import { Route, Routes, useNavigate } from "react-router-dom";
import { Guard } from "../router/Guard"; import { Guard } from "../router/Guard";
@ -29,6 +33,11 @@ const sideMenus: MenuProps["items"] = [
icon: <UserSwitchOutlined />, icon: <UserSwitchOutlined />,
label: "用户", label: "用户",
}, },
{
key: "xcode",
icon: <AuditOutlined />,
label: "神秘代码",
},
]; ];
const { Header, Sider, Content } = Layout; const { Header, Sider, Content } = Layout;

View File

@ -38,6 +38,11 @@ export const sideMenuRoutes: IRoute[] = [
element: lazy(() => import("../view/User")), element: lazy(() => import("../view/User")),
name: "用户", name: "用户",
}, },
{
path: "/xcode",
element: lazy(() => import("../view/XCode")),
name: "邀请码",
},
]; ];
export const navMenuList = navRoutes.map((route) => { export const navMenuList = navRoutes.map((route) => {

View File

@ -165,7 +165,6 @@ const Library = () => {
<Row> <Row>
<Col span={14}> <Col span={14}>
<Space> <Space>
<Segmented options={["生", "熟"]} />
<Search <Search
placeholder="根据名称搜索视频" placeholder="根据名称搜索视频"
onSearch={onSearch} onSearch={onSearch}

View File

@ -0,0 +1,3 @@
.generate-invite-code {
padding: 24px 0;
}

View File

@ -0,0 +1,169 @@
import {
Button,
Card,
Col,
Input,
message,
Row,
Segmented,
Space,
Table,
} from "antd";
import "./index.less";
import { nanoid } from "nanoid";
import { useEffect, useState } from "react";
import { createXCode, selectXCodeList } from "../../api";
import { useMount } from "../../hooks";
import dayjs from "dayjs";
export default function InviteCode() {
const [dataSource, setDataSource] = useState([]);
const defaultColumns = [
{
title: "字符",
dataIndex: "code",
key: "code",
filters: [],
filterSearch: true,
onFilter: (value: string, record: any) => record.code.startsWith(value),
},
{
title: "生成时间",
dataIndex: "createtime",
key: "createtime",
defaultSortOrder: "descend",
sorter: (a: any, b: any) => a.createtime - b.createtime,
render: (_: any, record: any) => {
return dayjs(+record.createtime).format("YYYY-MM-DD hh:mm:ss");
},
},
{
title: "失效时间",
dataIndex: "expiretime",
key: "expiretime",
defaultSortOrder: "descend",
sorter: (a: any, b: any) => a.expiretime - b.expiretime,
render: (_: any, record: any) => {
return dayjs(+record.expiretime).format("YYYY-MM-DD hh:mm:ss");
},
},
{
title: "绑定时间",
dataIndex: "user_usetime",
key: "user_usetime",
render: (_: any, record: any) => {
if (!!record.user_usetime)
return dayjs(+record.user_usetime).format("YYYY-MM-DD hh:mm:ss");
},
},
{
title: "用户",
dataIndex: "user_id",
key: "user_id",
render: (_: any, record: any) => {
return record.user_id > 0
? `${record.user_login ?? ""}(${record.user_id})`
: "";
},
},
{
title: "操作",
dataIndex: "operation",
key: "operation",
render: () => {
return <span>123</span>;
},
},
];
const [columns, setColumns] = useState(defaultColumns);
useEffect(() => {
if (dataSource) {
defaultColumns[0].filters = dataSource.map((i: any) => ({
text: i.code.substring(0, 6) + "...",
value: i.code,
})) as any;
setColumns(defaultColumns);
}
}, [dataSource]);
const onClickGen = () => {
if (!genRule.amount || !genRule.day) return message.error("生成规则错误");
const params = [];
for (let i = 0; i < genRule.amount; i++)
params.push({
code: nanoid(),
expiretime: "" + (Date.now() + +genRule.day * 24 * 60 * 60 * 1000),
});
createXCode(params).then((res) => {
console.log(res);
setGenRule(defaultGenRule);
});
};
const defaultGenRule = { day: 30, amount: 10 };
const [genRule, setGenRule] = useState(defaultGenRule);
const onSearch = (value: string) => console.log(value);
useMount(() => {
selectXCodeList().then((res: any) => {
const { code, data } = res;
if (code === 10000)
setDataSource(data.map((i: any) => ({ ...i, key: i.code })));
});
});
return (
<div className="generate-invite-code">
<Card>
<Row>
<Col span={12}>
<Space>
<Segmented options={["生", "熟"]} />
</Space>
</Col>
<Col span={12} style={{ textAlign: "right" }}>
<Space>
<Input
style={{ width: 80 }}
placeholder="数量"
suffix="个"
value={genRule.amount}
onChange={(e) =>
setGenRule((p: any) => ({
...p,
amount: +e.target.value.replace(/[^\-?\d.]/g, ""),
}))
}
/>
<Input
style={{ width: 100 }}
placeholder="有效天数"
suffix="天"
value={genRule.day}
onChange={(e) =>
setGenRule((p: any) => ({
...p,
day: +e.target.value.replace(/[^\-?\d.]/g, ""),
}))
}
/>
<Button type="primary" onClick={onClickGen}>
</Button>
</Space>
</Col>
</Row>
<Table
style={{ marginTop: 24 }}
dataSource={dataSource}
columns={columns}
/>
</Card>
</div>
);
}

View File

@ -16,6 +16,7 @@ export default (appInfo: MidwayAppInfo): MidwayConfig => {
database: 'backset', database: 'backset',
synchronize: true, // 如果第一次使用,不存在表,有同步的需求可以写 true注意会丢数据 synchronize: true, // 如果第一次使用,不存在表,有同步的需求可以写 true注意会丢数据
logging: false, logging: false,
connectTimeout: 15 * 1000,
// 扫描形式, 配置实体模型 entities: [Photo] // 扫描形式, 配置实体模型 entities: [Photo]
entities: ['**/entity/*.entity{.ts,.js}'], entities: ['**/entity/*.entity{.ts,.js}'],

View File

@ -8,6 +8,7 @@ import {
webSignExpired, webSignExpired,
} from '../config/base.config'; } from '../config/base.config';
import { UserAdminAuthDTO, UserWebAuthDTO } from '../dto/user.dto'; import { UserAdminAuthDTO, UserWebAuthDTO } from '../dto/user.dto';
import { XCodeService } from '../service/xcode.service';
import { UserService } from '../service/user.service'; import { UserService } from '../service/user.service';
import { createToken, md5 } from '../util/encrypt'; import { createToken, md5 } from '../util/encrypt';
@ -19,6 +20,9 @@ export class UserController {
@Inject() @Inject()
userService: UserService; userService: UserService;
@Inject()
xcodeService: XCodeService;
/** /**
* *
*/ */
@ -44,8 +48,18 @@ export class UserController {
return { code: BizCode.ERROR, msg: '密码错误' }; return { code: BizCode.ERROR, msg: '密码错误' };
} }
} else { } else {
const createUser = await this.userService.save(params); // 新用户注册
// 1. 验证邀请码
const { xcode } = params;
const xcodeValid = await this.xcodeService.valid(xcode);
if (!xcodeValid)
return { code: BizCode.ERROR, msg: '新用户注册,请填写神秘代码哦!~' };
// 2. 创建用户
const createUser = await this.userService.createUser(params);
const { user_pass, ...rest } = createUser; const { user_pass, ...rest } = createUser;
// 3. 邀请码表绑定用户
await this.xcodeService.use(xcode, rest.id);
const token = createToken({ ...rest, hasLogin: true }); const token = createToken({ ...rest, hasLogin: true });
this.ctx.cookies.set(webSign, token, { this.ctx.cookies.set(webSign, token, {
expires: new Date(Date.now() + webSignExpired), expires: new Date(Date.now() + webSignExpired),
@ -54,7 +68,7 @@ export class UserController {
return { return {
code: BizCode.OK, code: BizCode.OK,
data: { ...rest }, data: { ...rest },
msg: '欢迎来到 backset.cn', msg: '欢迎来到 backset.cn,' + rest.display_name,
}; };
} }
} catch (error) { } catch (error) {

View File

@ -0,0 +1,29 @@
import { Body, Context, Controller, Inject, Post } from '@midwayjs/core';
import { BizCode } from '../biz/code';
import { XCodeService } from '../service/xcode.service';
@Controller('/xcode')
export class XCodeController {
@Inject()
xcodeService: XCodeService;
@Inject()
ctx: Context;
@Post('/admin/create')
async create(@Body() codeList) {
try {
await this.xcodeService.create(codeList);
return { code: BizCode.OK };
} catch (error) {
this.ctx.logger.error(error);
return { code: BizCode.ERROR, msg: '[error] xcode/create error' };
}
}
@Post('/admin/select/all')
async selectAll() {
const data = await this.xcodeService.selectAll();
return { code: BizCode.OK, data };
}
}

View File

@ -2,11 +2,16 @@
import { Rule, RuleType } from '@midwayjs/validate'; import { Rule, RuleType } from '@midwayjs/validate';
export class UserWebAuthDTO { export class UserWebAuthDTO {
@Rule(RuleType.string().required()) @Rule(
RuleType.string().required().length(11).error(new Error('手机号为11位数字'))
)
user_login: string; user_login: string;
@Rule(RuleType.string().required()) @Rule(RuleType.string().required().min(6).error(new Error('密码长度至少6位')))
user_pass: string; user_pass: string;
@Rule(RuleType.string().allow(''))
xcode: string;
} }
export class UserAdminAuthDTO { export class UserAdminAuthDTO {

View File

@ -12,10 +12,7 @@ export class User {
@Column() @Column()
user_pass?: string; user_pass?: string;
@Column({ unique: true, default: '' }) @Column({ default: '' })
user_phone?: string;
@Column({ default: '', unique: true })
user_email?: string; user_email?: string;
@Column({ default: Date.now() }) @Column({ default: Date.now() })

View File

@ -0,0 +1,19 @@
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity('xcode')
export class XCode {
@PrimaryColumn()
code?: string;
@Column({ default: Date.now() })
createtime?: string;
@Column({ default: '' })
expiretime?: string;
@Column({ default: -1 })
user_id?: number;
@Column({ default: '' })
user_usetime?: string;
}

View File

@ -13,12 +13,12 @@ export class UserService {
async select(p: UserWebAuthDTO): Promise<User> { async select(p: UserWebAuthDTO): Promise<User> {
const { user_login } = p; const { user_login } = p;
const user = await this.userModel.findOne({ const user = await this.userModel.findOne({
where: [{ user_phone: user_login }, { user_login }], where: { user_login },
}); });
return user; return user;
} }
async save(user: User) { async createUser(user: User) {
user.user_pass = md5(user.user_pass); user.user_pass = md5(user.user_pass);
const result = await this.userModel.save(user); const result = await this.userModel.save(user);
return result; return result;

View File

@ -0,0 +1,32 @@
import { Provide } from '@midwayjs/core';
import { InjectEntityModel } from '@midwayjs/typeorm';
import { Repository } from 'typeorm';
import { XCode } from '../entity/xcode.entity';
@Provide()
export class XCodeService {
@InjectEntityModel(XCode)
xcodeModel: Repository<XCode>;
async valid(code: string) {
const row = await this.xcodeModel.findOne({ where: { code } });
return row && row.user_id === -1;
}
async use(code: string, user_id: number) {
await this.xcodeModel.update(
{ code },
{ user_id, user_usetime: '' + Date.now() }
);
}
async create(codeList: XCode[]) {
await this.xcodeModel.save(codeList);
}
async selectAll() {
return await this.xcodeModel.query(
'SELECT xcode.*,`user`.user_login FROM `xcode` LEFT JOIN `user` ON xcode.user_id = `user`.id'
);
}
}

4687
apps/web/public/09.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 251 KiB

876
apps/web/public/cactus.svg Normal file
View File

@ -0,0 +1,876 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 600 600" style="enable-background:new 0 0 600 600;" xml:space="preserve">
<style type="text/css">
.st0{fill:#666C78;}
.st1{fill:#868C96;}
.st2{fill:#AF9462;}
.st3{fill:#5C626D;}
.st4{fill:#C6AB83;}
.st5{fill:#6B905B;}
.st6{fill:#3E5E2A;}
.st7{fill:#EEF7E8;}
.st8{fill:#758F5A;}
.st9{fill:#A6BF94;}
.st10{fill:#698F55;}
.st11{fill:#74955E;}
.st12{fill:#67934D;}
.st13{fill:#7DA06B;}
.st14{fill:#92B477;}
</style>
<g>
<g>
<path class="st0" d="M390.4,547.7H250c-6.3,0-11.3-5.1-11.3-11.3V412.3h163v124.1C401.7,542.6,396.6,547.7,390.4,547.7z"/>
</g>
<g>
<polygon class="st1" points="238.7,412.3 263.8,394.7 381.4,394.7 401.7,412.3 "/>
</g>
<g>
<polygon class="st2" points="264.1,397.6 249.2,409.7 393.1,409.7 380,396.6 "/>
</g>
<g>
<rect x="238.7" y="425.5" class="st3" width="163" height="5.1"/>
</g>
<g>
<rect x="238.7" y="435.7" class="st3" width="163" height="5.1"/>
</g>
<g>
<rect x="238.7" y="445.9" class="st3" width="163" height="5.1"/>
</g>
<g>
<rect x="238.7" y="507.8" class="st3" width="163" height="5.1"/>
</g>
<g>
<rect x="318.1" y="477.5" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 865.7826 94.3527)" class="st3" width="135.2" height="5.1"/>
</g>
<g>
<rect x="307.9" y="477.5" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 855.5827 104.5526)" class="st3" width="135.2" height="5.1"/>
</g>
<g>
<rect x="297.7" y="477.5" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 845.3828 114.7524)" class="st3" width="135.2" height="5.1"/>
</g>
<g>
<rect x="188.3" y="477.5" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 735.9844 224.1509)" class="st3" width="135.2" height="5.1"/>
</g>
</g>
<g>
<polygon class="st4" points="372.1,397.8 368.8,396.9 366.4,399.4 367.3,402.7 370.6,403.5 373,401.1 "/>
</g>
<g>
<path class="st5" d="M302,405.1c0,0,28.7-82.7,73.9-92c38.5-8,19.9,38.1,12.4,58.3c-1.9,5.2-4.6,10-7.9,14.4l-14.3,19.3H302z"/>
</g>
<g>
<path class="st6" d="M291,405.1l-32.4-32.9c-18.9-19.2-25-47.7-15.5-72.9l0,0c7.1-18.8,26.2-30.3,46.1-27.8h0
c22.6,2.9,41.2,19.1,47.1,41.1l1.2,4.5c1.7,6.5,2.8,13.2,3.1,19.9l0,0c1,22.9-2.5,45.7-10.2,67.3c-0.2,0.5-0.3,0.8-0.3,0.8v0H291z"
/>
</g>
<g>
<rect x="283.4" y="326.8" transform="matrix(0.7355 -0.6776 0.6776 0.7355 -150.9816 280.4928)" class="st7" width="0.7" height="13.6"/>
</g>
<g>
<rect x="269.8" y="337.6" transform="matrix(0.9228 -0.3853 0.3853 0.9228 -111.8911 130.6762)" class="st7" width="0.7" height="13.9"/>
</g>
<g>
<rect x="306.6" y="313.7" class="st7" width="0.7" height="12.9"/>
</g>
<g>
<rect x="298.5" y="347.6" transform="matrix(0.2324 -0.9726 0.9726 0.2324 -106.5319 560.8265)" class="st7" width="7" height="0.7"/>
</g>
<g>
<rect x="287.8" y="369.8" transform="matrix(0.5302 -0.8479 0.8479 0.5302 -182.0894 420.1412)" class="st7" width="0.7" height="9.2"/>
</g>
<g>
<rect x="311.3" y="374.2" transform="matrix(0.9631 -0.2691 0.2691 0.9631 -90.6055 97.8772)" class="st7" width="0.7" height="10.4"/>
</g>
<g>
<rect x="298.7" y="394.1" class="st7" width="0.7" height="4.9"/>
</g>
<g>
<rect x="323" y="332.5" class="st7" width="0.7" height="9"/>
</g>
<g>
<rect x="348.2" y="377.4" class="st7" width="0.7" height="9"/>
</g>
<g>
<rect x="362" y="326.6" class="st7" width="0.7" height="9"/>
</g>
<g>
<rect x="275.5" y="374.9" class="st7" width="0.7" height="9"/>
</g>
<g>
<rect x="332.7" y="337" class="st7" width="0.7" height="9"/>
</g>
<g>
<rect x="281.7" y="285.3" transform="matrix(7.027592e-02 -0.9975 0.9975 7.027592e-02 -16.2854 553.7212)" class="st7" width="14.4" height="0.7"/>
</g>
<g>
<rect x="314.8" y="302.1" transform="matrix(0.9797 -0.2006 0.2006 0.9797 -55.0559 69.4371)" class="st7" width="0.7" height="8.6"/>
</g>
<g>
<rect x="305.9" y="295" transform="matrix(0.3518 -0.9361 0.9361 0.3518 -75.394 481.782)" class="st7" width="8.6" height="0.7"/>
</g>
<g>
<rect x="349.5" y="336.7" transform="matrix(0.3518 -0.9361 0.9361 0.3518 -86.102 549.6779)" class="st7" width="8.6" height="0.7"/>
</g>
<g>
<rect x="272.3" y="279" transform="matrix(0.3518 -0.9361 0.9361 0.3518 -82.2071 439.9955)" class="st7" width="8.6" height="0.7"/>
</g>
<g>
<rect x="268.5" y="302.2" class="st7" width="0.7" height="11.5"/>
</g>
<g>
<rect x="258.9" y="308.8" transform="matrix(0.927 -0.375 0.375 0.927 -98.3054 120.0194)" class="st7" width="0.7" height="7.6"/>
</g>
<g>
<rect x="252.3" y="323.8" transform="matrix(0.8824 -0.4706 0.4706 0.8824 -123.9455 157.3184)" class="st7" width="0.7" height="5.5"/>
</g>
<g>
<rect x="255.1" y="346.4" transform="matrix(0.2324 -0.9726 0.9726 0.2324 -137.3074 519.4886)" class="st7" width="10.7" height="0.7"/>
</g>
<g>
<rect x="289.4" y="316.1" class="st7" width="0.7" height="10.5"/>
</g>
<g>
<rect x="327" y="308.9" transform="matrix(0.9733 -0.2294 0.2294 0.9733 -63.4404 83.482)" class="st7" width="0.7" height="11.3"/>
</g>
<g>
<rect x="350.4" y="350.7" transform="matrix(0.9733 -0.2294 0.2294 0.9733 -72.4019 89.9668)" class="st7" width="0.7" height="11.3"/>
</g>
<g>
<rect x="323.5" y="357.9" transform="matrix(0.8801 -0.4748 0.4748 0.8801 -133.8249 197.3516)" class="st7" width="0.7" height="11.5"/>
</g>
<g>
<rect x="372.6" y="325.3" class="st7" width="0.7" height="11.5"/>
</g>
<g>
<rect x="383.5" y="352.8" transform="matrix(0.8801 -0.4747 0.4747 0.8801 -124.2178 225.216)" class="st7" width="0.7" height="11.5"/>
</g>
<g>
<rect x="284.7" y="348.1" transform="matrix(0.8987 -0.4386 0.4386 0.8987 -125.972 160.8009)" class="st7" width="0.7" height="9.8"/>
</g>
<g>
<rect x="267.4" y="355.6" transform="matrix(0.972 -0.2349 0.2349 0.972 -77.1576 72.9564)" class="st7" width="0.7" height="9.6"/>
</g>
<g>
<rect x="281.7" y="291.7" transform="matrix(0.9785 -0.2064 0.2064 0.9785 -55.2416 64.6155)" class="st7" width="0.7" height="10.6"/>
</g>
<g>
<rect x="272.3" y="288.1" transform="matrix(0.7845 -0.6202 0.6202 0.7845 -122.4709 232.0526)" class="st7" width="0.7" height="8.2"/>
</g>
<g>
<rect x="253.6" y="288.2" class="st7" width="0.7" height="11.7"/>
</g>
<g>
<rect x="301.7" y="280.9" class="st7" width="0.7" height="9.4"/>
</g>
<g>
<rect x="307.4" y="333.3" transform="matrix(0.4157 -0.9095 0.9095 0.4157 -120.9285 478.9757)" class="st7" width="9.9" height="0.7"/>
</g>
<g>
<rect x="357.4" y="353.8" transform="matrix(0.4157 -0.9095 0.9095 0.4157 -110.3395 536.4599)" class="st7" width="9.9" height="0.7"/>
</g>
<g>
<rect x="297.5" y="356.9" transform="matrix(0.7313 -0.6821 0.6821 0.7313 -167.6396 300.7334)" class="st7" width="0.7" height="12.4"/>
</g>
<g>
<rect x="325.8" y="371.9" transform="matrix(0.1581 -0.9874 0.9874 0.1581 -87.1539 642.2436)" class="st7" width="14.5" height="0.7"/>
</g>
<g>
<rect x="318" y="394.3" transform="matrix(0.5937 -0.8047 0.8047 0.5937 -186.1863 420.5554)" class="st7" width="10.7" height="0.7"/>
</g>
<g>
<rect x="290" y="307.2" class="st7" width="9.7" height="0.7"/>
</g>
<g>
<rect x="365.3" y="379.1" transform="matrix(0.4276 -0.904 0.904 0.4276 -131.6737 550.8397)" class="st7" width="7.6" height="0.7"/>
</g>
<g>
<rect x="359.9" y="367.4" transform="matrix(0.5753 -0.818 0.818 0.5753 -150.7534 452.3701)" class="st7" width="0.7" height="7.9"/>
</g>
<g>
<rect x="361.4" y="390.9" transform="matrix(0.7326 -0.6806 0.6806 0.7326 -170.7335 351.2672)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="379.6" y="323" transform="matrix(0.8973 -0.4415 0.4415 0.8973 -104.4736 201.149)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="342.8" y="396.2" transform="matrix(0.877 -0.4805 0.4805 0.877 -147.9017 215.3402)" class="st7" width="7.6" height="0.7"/>
</g>
<g>
<rect x="389.4" y="329.6" transform="matrix(0.9315 -0.3638 0.3638 0.9315 -94.2573 164.5518)" class="st7" width="0.7" height="5.8"/>
</g>
<g>
<rect x="371.6" y="348.3" transform="matrix(0.3477 -0.9376 0.9376 0.3477 -83.1896 577.6987)" class="st7" width="4.1" height="0.7"/>
</g>
<g>
<rect x="366.4" y="363.3" transform="matrix(0.5788 -0.8154 0.8154 0.5788 -141.5111 453.3169)" class="st7" width="3.3" height="0.7"/>
</g>
<g>
<ellipse transform="matrix(0.9495 -0.3139 0.3139 0.9495 -58.7764 134.9823)" class="st8" cx="389.8" cy="250" rx="18.8" ry="35.9"/>
</g>
<g>
<ellipse transform="matrix(0.5739 -0.819 0.819 0.5739 -72.7065 455.229)" class="st9" cx="401.1" cy="297.5" rx="42.3" ry="23.4"/>
</g>
<g>
<rect x="411.4" y="293.8" transform="matrix(0.9247 -0.3806 0.3806 0.9247 -82.082 179.053)" class="st7" width="0.7" height="6.6"/>
</g>
<g>
<rect x="415.6" y="290.9" transform="matrix(0.9994 -3.513454e-02 3.513454e-02 0.9994 -9.9731 14.9534)" class="st7" width="9.7" height="0.7"/>
</g>
<g>
<rect x="401.4" y="291.1" transform="matrix(0.9625 -0.2713 0.2713 0.9625 -65.0159 120.0574)" class="st7" width="0.7" height="8.2"/>
</g>
<g>
<rect x="393.4" y="299.2" transform="matrix(0.166 -0.9861 0.9861 0.166 35.8725 641.4957)" class="st7" width="7.6" height="0.7"/>
</g>
<g>
<rect x="384.3" y="295.9" transform="matrix(0.166 -0.9861 0.9861 0.166 31.4645 629.7495)" class="st7" width="7.6" height="0.7"/>
</g>
<g>
<rect x="391.9" y="284.1" transform="matrix(0.2755 -0.9613 0.9613 0.2755 13.8998 587.2511)" class="st7" width="9.3" height="0.7"/>
</g>
<g>
<rect x="391" y="282.8" transform="matrix(0.9625 -0.2713 0.2713 0.9625 -62.8849 116.883)" class="st7" width="0.7" height="6.1"/>
</g>
<g>
<rect x="405.3" y="279.3" transform="matrix(0.9625 -0.2713 0.2713 0.9625 -61.4027 120.6586)" class="st7" width="0.7" height="6.1"/>
</g>
<g>
<polygon class="st7" points="425.9,275.7 419.3,269.4 419.7,268.9 426.3,275.2 "/>
</g>
<g>
<rect x="413.6" y="264" transform="matrix(0.9625 -0.2713 0.2713 0.9625 -57.1591 122.3498)" class="st7" width="0.7" height="7.8"/>
</g>
<g>
<rect x="397.1" y="271.1" transform="matrix(4.292914e-02 -0.9991 0.9991 4.292914e-02 111.2122 658.9498)" class="st7" width="4.8" height="0.7"/>
</g>
<g>
<rect x="407.3" y="267.1" transform="matrix(0.8747 -0.4846 0.4846 0.8747 -80.4261 231.5523)" class="st7" width="0.7" height="8.4"/>
</g>
<g>
<rect x="382.6" y="288.7" transform="matrix(0.9625 -0.2713 0.2713 0.9625 -64.5072 114.7855)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="405.1" y="309.1" transform="matrix(0.6904 -0.7234 0.7234 0.6904 -100.8107 390.1608)" class="st7" width="0.7" height="7.5"/>
</g>
<g>
<rect x="409.9" y="283.8" transform="matrix(0.3045 -0.9525 0.9525 0.3045 17.3432 591.9489)" class="st7" width="8.3" height="0.7"/>
</g>
<g>
<rect x="383.8" y="226.2" transform="matrix(0.5377 -0.8431 0.8431 0.5377 -15.932 429.9853)" class="st7" width="0.7" height="6.7"/>
</g>
<g>
<rect x="373.9" y="235.3" transform="matrix(0.3688 -0.9295 0.9295 0.3688 15.5465 497.6842)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="383.4" y="236.5" transform="matrix(0.9957 -9.266309e-02 9.266309e-02 0.9957 -20.6651 36.5959)" class="st7" width="0.7" height="8.6"/>
</g>
<g>
<rect x="385.4" y="245.3" transform="matrix(0.5858 -0.8104 0.8104 0.5858 -37.8176 417.1651)" class="st7" width="7.6" height="0.7"/>
</g>
<g>
<rect x="402.5" y="256.4" transform="matrix(0.9659 -0.259 0.259 0.9659 -53.6562 113.2022)" class="st7" width="0.7" height="7.8"/>
</g>
<g>
<polygon class="st7" points="387.3,253.9 384.4,252.8 384.7,252.2 387.5,253.2 "/>
</g>
<g>
<rect x="394.9" y="250.1" transform="matrix(0.9028 -0.43 0.43 0.9028 -70.3008 194.4942)" class="st7" width="0.7" height="5.4"/>
</g>
<g>
<rect x="379.7" y="259.4" transform="matrix(0.2599 -0.9656 0.9656 0.2599 28.7226 560.5497)" class="st7" width="0.7" height="4.2"/>
</g>
<g>
<rect x="379.1" y="245.4" transform="matrix(0.6846 -0.7289 0.7289 0.6846 -61.3544 354.8959)" class="st7" width="0.7" height="5.8"/>
</g>
<g>
<rect x="376.8" y="226.8" transform="matrix(0.6314 -0.7755 0.7755 0.6314 -39.8458 377.459)" class="st7" width="0.7" height="7.6"/>
</g>
<g>
<rect x="390.7" y="231.4" transform="matrix(0.9623 -0.2719 0.2719 0.9623 -49.3202 115.2184)" class="st7" width="0.7" height="8.4"/>
</g>
<g>
<rect x="374.5" y="216.3" transform="matrix(0.9271 -0.3748 0.3748 0.9271 -53.7485 156.9129)" class="st7" width="4.1" height="0.7"/>
</g>
<g>
<rect x="405.8" y="249.2" transform="matrix(0.996 -8.918349e-02 8.918349e-02 0.996 -20.7847 37.2253)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="393.7" y="262.8" transform="matrix(0.9972 -7.415923e-02 7.415923e-02 0.9972 -18.4225 30.0305)" class="st7" width="2.9" height="0.7"/>
</g>
<g>
<rect x="388.1" y="265.2" transform="matrix(0.9029 -0.4299 0.4299 0.9029 -77.1188 192.9175)" class="st7" width="0.7" height="4"/>
</g>
<g>
<rect x="400.3" y="241.5" transform="matrix(0.9889 -0.1485 0.1485 0.9889 -32.0426 62.2031)" class="st7" width="0.7" height="8.5"/>
</g>
<g>
<rect x="392.8" y="237.4" transform="matrix(1.367060e-02 -0.9999 0.9999 1.367060e-02 151.8409 629.3029)" class="st7" width="4.2" height="0.7"/>
</g>
<g>
<rect x="388.5" y="226.4" transform="matrix(0.172 -0.9851 0.9851 0.172 99.6821 572.0338)" class="st7" width="3.3" height="0.7"/>
</g>
<g>
<rect x="379.1" y="215.7" transform="matrix(0.9507 -0.31 0.31 0.9507 -49.1106 128.4079)" class="st7" width="0.7" height="5.9"/>
</g>
<g>
<path class="st10" d="M274.2,305.8c-8.1-13.8-20.6-30.3-38.7-42.3c-37.6-25-64.1-12.2-66.7,8.8c-2.7,21,17.4,46.2,43.2,58.6
C293.4,369.7,282.8,320.5,274.2,305.8z"/>
</g>
<g>
<polygon class="st7" points="195.4,298 195,297.6 202.3,291 202.7,291.5 "/>
</g>
<g>
<rect x="182.9" y="282.3" transform="matrix(0.5832 -0.8123 0.8123 0.5832 -156.9666 268.5959)" class="st7" width="0.7" height="9.8"/>
</g>
<g>
<rect x="186.4" y="259.1" transform="matrix(9.516895e-02 -0.9955 0.9955 9.516895e-02 -93.1999 424.097)" class="st7" width="0.7" height="8.5"/>
</g>
<g>
<rect x="199.6" y="266.2" transform="matrix(0.9118 -0.4107 0.4107 0.9118 -92.5321 105.7517)" class="st7" width="0.7" height="4.2"/>
</g>
<g>
<rect x="192.6" y="271.5" transform="matrix(0.9469 -0.3216 0.3216 0.9469 -78.2222 76.6491)" class="st7" width="0.7" height="7.3"/>
</g>
<g>
<rect x="221.7" y="277.4" transform="matrix(0.309 -0.9511 0.9511 0.309 -111.7234 403.779)" class="st7" width="0.7" height="2.8"/>
</g>
<g>
<rect x="208.5" y="308.1" transform="matrix(0.6893 -0.7245 0.7245 0.6893 -158.178 247.9357)" class="st7" width="3.1" height="0.7"/>
</g>
<g>
<rect x="199.7" y="285.9" transform="matrix(0.9971 -7.624798e-02 7.624798e-02 0.9971 -21.2327 16.3407)" class="st7" width="7.4" height="0.7"/>
</g>
<g>
<rect x="193.6" y="310.4" transform="matrix(0.6115 -0.7912 0.7912 0.6115 -169.5971 276.1287)" class="st7" width="5.6" height="0.7"/>
</g>
<g>
<rect x="211.9" y="263.5" transform="matrix(0.9157 -0.4018 0.4018 0.9157 -89.6097 107.8338)" class="st7" width="0.7" height="8"/>
</g>
<g>
<rect x="207.4" y="270.3" transform="matrix(0.3089 -0.9511 0.9511 0.3089 -117.1897 386.957)" class="st7" width="0.7" height="7.6"/>
</g>
<g>
<rect x="233.4" y="276.6" transform="matrix(0.863 -0.5053 0.5053 0.863 -109.5001 156.4733)" class="st7" width="0.7" height="7.1"/>
</g>
<g>
<rect x="227" y="300.7" transform="matrix(0.8824 -0.4705 0.4705 0.8824 -114.5841 143.5436)" class="st7" width="5.8" height="0.7"/>
</g>
<g>
<rect x="229" y="322" transform="matrix(1.348209e-02 -0.9999 0.9999 1.348209e-02 -99.9444 551.1799)" class="st7" width="0.7" height="8.4"/>
</g>
<g>
<rect x="212.7" y="316.5" transform="matrix(0.8421 -0.5393 0.5393 0.8421 -136.5972 166.966)" class="st7" width="8.3" height="0.7"/>
</g>
<g>
<rect x="203.3" y="316.4" transform="matrix(0.7822 -0.623 0.623 0.7822 -152.3873 197.5839)" class="st7" width="6.2" height="0.7"/>
</g>
<g>
<rect x="198.6" y="296.3" transform="matrix(1.752984e-02 -0.9998 0.9998 1.752984e-02 -107.2765 496.4534)" class="st7" width="0.7" height="13"/>
</g>
<g>
<rect x="220.8" y="305.2" transform="matrix(0.3089 -0.9511 0.9511 0.3089 -138.0512 421.7307)" class="st7" width="0.7" height="1.4"/>
</g>
<g>
<rect x="223.2" y="286.8" transform="matrix(7.376926e-02 -0.9973 0.9973 7.376926e-02 -84.9426 494.0968)" class="st7" width="0.7" height="11.9"/>
</g>
<g>
<rect x="243.4" y="279.5" transform="matrix(0.9336 -0.3584 0.3584 0.9336 -86.6187 106.4153)" class="st7" width="0.7" height="14.6"/>
</g>
<g>
<polygon class="st7" points="236.2,274.4 230.2,266.5 230.8,266.1 236.7,274 "/>
</g>
<g>
<rect x="222.5" y="258.7" transform="matrix(0.9916 -0.129 0.129 0.9916 -32.1859 30.9511)" class="st7" width="0.7" height="10.3"/>
</g>
<g>
<rect x="207.2" y="251.9" transform="matrix(0.7933 -0.6088 0.6088 0.7933 -113.1253 179.3087)" class="st7" width="0.7" height="8.6"/>
</g>
<g>
<rect x="198.7" y="254" transform="matrix(0.5138 -0.8579 0.8579 0.5138 -124.6775 296.2171)" class="st7" width="0.7" height="8.1"/>
</g>
<g>
<rect x="177.1" y="272.5" transform="matrix(1.854395e-02 -0.9998 0.9998 1.854395e-02 -101.2411 447.7009)" class="st7" width="0.7" height="5.9"/>
</g>
<g>
<rect x="176.8" y="258.1" transform="matrix(0.9352 -0.354 0.354 0.9352 -82.0569 79.8042)" class="st7" width="0.7" height="12.1"/>
</g>
<g>
<rect x="183.6" y="300.9" transform="matrix(0.8897 -0.4566 0.4566 0.8897 -116.9293 118.512)" class="st7" width="6.4" height="0.7"/>
</g>
<g>
<rect x="238.2" y="292.8" transform="matrix(0.6209 -0.7839 0.7839 0.6209 -141.0289 298.9237)" class="st7" width="0.7" height="4.9"/>
</g>
<g>
<rect x="237.5" y="304.2" transform="matrix(0.8203 -0.5719 0.5719 0.8203 -133.718 191.4811)" class="st7" width="0.7" height="8.6"/>
</g>
<g>
<rect x="226.8" y="315.7" transform="matrix(0.5677 -0.8232 0.8232 0.5677 -160.942 325.6135)" class="st7" width="5.5" height="0.7"/>
</g>
<g>
<rect x="246" y="295.5" transform="matrix(0.3673 -0.9301 0.9301 0.3673 -117.9185 418.3596)" class="st7" width="5.1" height="0.7"/>
</g>
<g>
<rect x="252.9" y="283.4" transform="matrix(0.8089 -0.5879 0.5879 0.8089 -120.6006 203.8347)" class="st7" width="0.7" height="8.1"/>
</g>
<g>
<rect x="215" y="324.2" transform="matrix(0.8389 -0.5443 0.5443 0.8389 -141.5899 170.6999)" class="st7" width="5.2" height="0.7"/>
</g>
<g>
<rect x="182.7" y="296" transform="matrix(0.9892 -0.1466 0.1466 0.9892 -41.4644 30.14)" class="st7" width="2.1" height="0.7"/>
</g>
<g>
<path class="st11" d="M331.9,123.7c0,0,1.3-24.5,21.5-38.3c20.2-13.8,30.2,13.3,26.3,14.2c0,0,0.8,11.8-11.8,21.8
c-12.6,10-32.5,13.5-32.5,13.5L331.9,123.7z"/>
</g>
<g>
<path class="st12" d="M273.8,174.5c0,0,3.9-35.1,34.5-56.6s39.8,11.9,38.4,18.1c0,0-1.3,16.8-20.5,32.2s-48.4,22.1-48.4,22.1
L273.8,174.5z"/>
</g>
<g>
<path class="st13" d="M282,285.1c0,0-32.9-36.1-27.4-87.4c5.5-51.4,56.1-29.4,52.5-22c0,0,17.6,15.2,16.1,49.1
c-1.6,34-21.1,70.4-21.1,70.4L282,285.1z"/>
</g>
<g>
<ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 5.3858 233.2157)" class="st14" cx="284.2" cy="110.1" rx="23.1" ry="39.5"/>
</g>
<g>
<rect x="264.8" y="184" class="st7" width="0.7" height="1.8"/>
</g>
<g>
<rect x="269.8" y="194.6" transform="matrix(0.7033 -0.7109 0.7109 0.7033 -60.6149 250.8114)" class="st7" width="0.7" height="6.9"/>
</g>
<g>
<rect x="268.6" y="210.5" transform="matrix(0.9933 -0.1155 0.1155 0.9933 -22.8889 32.4805)" class="st7" width="0.7" height="6.6"/>
</g>
<g>
<rect x="269.8" y="232.2" transform="matrix(0.6545 -0.7561 0.7561 0.6545 -84.6333 285.6087)" class="st7" width="0.7" height="6.5"/>
</g>
<g>
<rect x="277" y="244.8" transform="matrix(0.2368 -0.9716 0.9716 0.2368 -30.8642 459.9384)" class="st7" width="0.7" height="9.7"/>
</g>
<g>
<rect x="288.1" y="261" transform="matrix(0.9872 -0.1596 0.1596 0.9872 -38.7946 49.4393)" class="st7" width="0.7" height="10.5"/>
</g>
<g>
<rect x="304.8" y="234.4" transform="matrix(0.4276 -0.904 0.904 0.4276 -35.5635 413.2739)" class="st7" width="7.6" height="0.7"/>
</g>
<g>
<rect x="299.8" y="205.9" transform="matrix(0.5251 -0.8511 0.8511 0.5251 -30.9038 357.0776)" class="st7" width="9.3" height="0.7"/>
</g>
<g>
<rect x="298" y="192" class="st7" width="0.7" height="6.1"/>
</g>
<g>
<rect x="288.6" y="170.2" transform="matrix(0.9961 -8.878410e-02 8.878410e-02 0.9961 -14.3868 26.3412)" class="st7" width="0.7" height="9.5"/>
</g>
<g>
<rect x="282.8" y="190.2" transform="matrix(0.9992 -4.038478e-02 4.038478e-02 0.9992 -7.6717 11.5933)" class="st7" width="0.7" height="11"/>
</g>
<g>
<rect x="280.7" y="213.6" transform="matrix(0.9302 -0.3671 0.3671 0.9302 -59.7661 118.2855)" class="st7" width="0.7" height="5.2"/>
</g>
<g>
<rect x="300.5" y="217.4" transform="matrix(0.7206 -0.6933 0.6933 0.7206 -65.4579 273.0992)" class="st7" width="11.4" height="0.7"/>
</g>
<g>
<rect x="289.7" y="223.6" transform="matrix(0.9249 -0.3803 0.3803 0.9249 -64.6096 127.3559)" class="st7" width="0.7" height="7.2"/>
</g>
<g>
<rect x="299" y="231" transform="matrix(0.285 -0.9585 0.9585 0.285 -4.8751 456.0634)" class="st7" width="8.6" height="0.7"/>
</g>
<g>
<rect x="299.6" y="246.6" transform="matrix(0.5752 -0.818 0.818 0.5752 -77.5782 351.8035)" class="st7" width="0.7" height="7.9"/>
</g>
<g>
<rect x="296.8" y="260.3" transform="matrix(0.5251 -0.8511 0.8511 0.5251 -77.6918 382.0099)" class="st7" width="13.3" height="0.7"/>
</g>
<g>
<rect x="285.6" y="235" transform="matrix(0.8973 -0.4415 0.4415 0.8973 -76.0732 150.76)" class="st7" width="0.7" height="7.7"/>
</g>
<g>
<rect x="262.5" y="207.8" transform="matrix(0.858 -0.5136 0.5136 0.858 -71.7473 165.1183)" class="st7" width="0.7" height="9.1"/>
</g>
<g>
<rect x="271.7" y="173.4" transform="matrix(0.8662 -0.4998 0.4998 0.8662 -52.0864 159.6372)" class="st7" width="0.7" height="7.3"/>
</g>
<g>
<rect x="279.3" y="172.5" class="st7" width="0.7" height="7.8"/>
</g>
<g>
<rect x="296.3" y="175.3" transform="matrix(0.2246 -0.9745 0.9745 0.2246 62.2296 429.5127)" class="st7" width="9.4" height="0.7"/>
</g>
<g>
<rect x="308.5" y="184.7" transform="matrix(0.3127 -0.9498 0.9498 0.3127 37.9789 422.4658)" class="st7" width="4.8" height="0.7"/>
</g>
<g>
<rect x="315.8" y="197.9" transform="matrix(0.9734 -0.2291 0.2291 0.9734 -37.8994 77.7901)" class="st7" width="0.7" height="8.4"/>
</g>
<g>
<rect x="309.4" y="222.8" transform="matrix(0.1875 -0.9823 0.9823 0.1875 37.94 492.1338)" class="st7" width="14" height="0.7"/>
</g>
<g>
<rect x="261.3" y="224.4" transform="matrix(0.9164 -0.4002 0.4002 0.9164 -69.109 123.7004)" class="st7" width="0.7" height="5.9"/>
</g>
<g>
<rect x="261.9" y="240.7" transform="matrix(0.7694 -0.6388 0.6388 0.7694 -93.8368 223.2203)" class="st7" width="0.7" height="1.8"/>
</g>
<g>
<rect x="275.5" y="223.1" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="310.3" y="244.4" transform="matrix(0.4045 -0.9145 0.9145 0.4045 -37.0044 432.6514)" class="st7" width="6.9" height="0.7"/>
</g>
<g>
<rect x="273.6" y="254.1" transform="matrix(0.8607 -0.509 0.509 0.8607 -93.1083 175.3407)" class="st7" width="0.7" height="7.5"/>
</g>
<g>
<rect x="295.3" y="203.8" class="st7" width="0.7" height="10"/>
</g>
<g>
<rect x="265.5" y="79.4" transform="matrix(0.715 -0.6991 0.6991 0.715 17.2172 209.7017)" class="st7" width="0.7" height="8.6"/>
</g>
<g>
<rect x="260.7" y="87.7" transform="matrix(0.6176 -0.7865 0.7865 0.6176 29.0385 239.6979)" class="st7" width="0.7" height="4.6"/>
</g>
<g>
<rect x="266.2" y="96.7" transform="matrix(0.396 -0.9182 0.9182 0.396 68.4477 305.5414)" class="st7" width="0.7" height="8"/>
</g>
<g>
<rect x="273.6" y="96" class="st7" width="0.7" height="4.8"/>
</g>
<g>
<rect x="280.5" y="92.3" transform="matrix(0.9598 -0.2808 0.2808 0.9598 -15.8255 82.7313)" class="st7" width="0.7" height="8.6"/>
</g>
<g>
<rect x="272.6" y="109.6" transform="matrix(0.5558 -0.8313 0.8313 0.5558 29.1918 276.0708)" class="st7" width="0.7" height="2.2"/>
</g>
<g>
<rect x="284.7" y="110" transform="matrix(0.9375 -0.3479 0.3479 0.9375 -21.2916 106.1851)" class="st7" width="0.7" height="4.9"/>
</g>
<g>
<rect x="273.9" y="121.2" transform="matrix(0.1641 -0.9864 0.9864 0.1641 110.9971 374.0579)" class="st7" width="4.6" height="0.7"/>
</g>
<g>
<rect x="280.7" y="123.5" class="st7" width="0.7" height="3.9"/>
</g>
<g>
<rect x="289.4" y="127.4" class="st7" width="0.7" height="2.5"/>
</g>
<g>
<rect x="300.1" y="128.5" transform="matrix(0.9725 -0.2327 0.2327 0.9725 -22.1894 73.5242)" class="st7" width="0.7" height="4.5"/>
</g>
<g>
<rect x="305.5" y="118.1" transform="matrix(0.6586 -0.7525 0.7525 0.6586 16.5604 273.4129)" class="st7" width="8.2" height="0.7"/>
</g>
<g>
<rect x="299.4" y="109.7" transform="matrix(0.4378 -0.8991 0.8991 0.4378 71.9959 335.2968)" class="st7" width="9.4" height="0.7"/>
</g>
<g>
<rect x="300.7" y="105.8" class="st7" width="0.7" height="2.4"/>
</g>
<g>
<rect x="292.8" y="96" class="st7" width="0.7" height="6.7"/>
</g>
<g>
<rect x="287.5" y="87.2" transform="matrix(0.9978 -6.592479e-02 6.592479e-02 0.9978 -5.3295 19.1697)" class="st7" width="0.7" height="6.4"/>
</g>
<g>
<rect x="279.5" y="81.5" transform="matrix(0.9971 -7.549008e-02 7.549008e-02 0.9971 -5.6099 21.3686)" class="st7" width="0.7" height="6.7"/>
</g>
<g>
<rect x="294.3" y="114.5" transform="matrix(0.1641 -0.9864 0.9864 0.1641 133.1847 386.8458)" class="st7" width="1.1" height="0.7"/>
</g>
<g>
<polygon class="st7" points="264.9,115 262.5,111.5 263.1,111.1 265.4,114.7 "/>
</g>
<g>
<rect x="253.5" y="95.1" transform="matrix(0.6629 -0.7487 0.7487 0.6629 12.4507 222.9602)" class="st7" width="0.7" height="5.1"/>
</g>
<g>
<rect x="308.2" y="128.6" class="st7" width="0.7" height="6.4"/>
</g>
<g>
<rect x="293" y="137.2" transform="matrix(0.3009 -0.9536 0.9536 0.3009 75.5521 378.0627)" class="st7" width="5.3" height="0.7"/>
</g>
<g>
<rect x="347.6" y="108.2" transform="matrix(0.931 -0.365 0.365 0.931 -15.343 135.9587)" class="st7" width="8.7" height="0.7"/>
</g>
<g>
<rect x="358.8" y="93.9" transform="matrix(0.3684 -0.9297 0.9297 0.3684 136.5246 395.2879)" class="st7" width="0.7" height="6.5"/>
</g>
<g>
<rect x="362.2" y="101.8" transform="matrix(0.3229 -0.9464 0.9464 0.3229 147.3194 413.3076)" class="st7" width="0.7" height="3.7"/>
</g>
<g>
<rect x="347.9" y="117.9" transform="matrix(0.7607 -0.6491 0.6491 0.7607 5.2706 254.8014)" class="st7" width="0.7" height="4.6"/>
</g>
<g>
<rect x="364.8" y="84.9" class="st7" width="0.7" height="2.3"/>
</g>
<g>
<rect x="357" y="85.7" transform="matrix(0.1875 -0.9823 0.9823 0.1875 206.6939 421.9305)" class="st7" width="2.8" height="0.7"/>
</g>
<g>
<rect x="348.3" y="92.5" transform="matrix(0.7985 -0.602 0.602 0.7985 12.6192 229.2143)" class="st7" width="0.7" height="6.5"/>
</g>
<g>
<rect x="369.8" y="94" transform="matrix(0.8407 -0.5415 0.5415 0.8407 8.3038 216.7895)" class="st7" width="5.5" height="0.7"/>
</g>
<g>
<rect x="371" y="102.3" class="st7" width="5.1" height="0.7"/>
</g>
<g>
<rect x="342.8" y="106.6" transform="matrix(0.8001 -0.5998 0.5998 0.8001 2.1701 227.9524)" class="st7" width="0.7" height="8.2"/>
</g>
<g>
<rect x="362.2" y="114.8" class="st7" width="0.7" height="3.6"/>
</g>
<g>
<rect x="370.2" y="106" transform="matrix(0.5983 -0.8013 0.8013 0.5983 61.8524 340.5131)" class="st7" width="0.7" height="5.1"/>
</g>
<g>
<rect x="355.8" y="111.5" class="st7" width="0.7" height="10"/>
</g>
<g>
<rect x="333.3" y="138.7" transform="matrix(0.2894 -0.9572 0.9572 0.2894 102.5175 419.2445)" class="st7" width="0.7" height="3.7"/>
</g>
<g>
<rect x="329.9" y="127.1" transform="matrix(0.1151 -0.9933 0.9933 0.1151 168.2563 443.8351)" class="st7" width="6.7" height="0.7"/>
</g>
<g>
<rect x="321.7" y="126.7" class="st7" width="3.2" height="0.7"/>
</g>
<g>
<rect x="321.8" y="135.3" transform="matrix(0.8145 -0.5801 0.5801 0.8145 -19.9287 212.3337)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="305.3" y="151.2" class="st7" width="0.7" height="8.5"/>
</g>
<g>
<rect x="319.4" y="148.8" transform="matrix(0.9843 -0.1767 0.1767 0.9843 -21.4449 58.8443)" class="st7" width="0.7" height="2"/>
</g>
<g>
<rect x="325.7" y="153.4" transform="matrix(0.3621 -0.9321 0.9321 0.3621 63.7212 402.6184)" class="st7" width="0.7" height="2.7"/>
</g>
<g>
<polygon class="st7" points="289.9,153.4 289.6,152.8 292.9,150.5 293.3,151.1 "/>
</g>
<g>
<rect x="297.5" y="155.9" class="st7" width="0.7" height="1.4"/>
</g>
<g>
<rect x="298" y="150" class="st7" width="0.7" height="3.9"/>
</g>
<g>
<rect x="309.7" y="164.6" transform="matrix(0.5511 -0.8344 0.8344 0.5511 3.222 335.9138)" class="st7" width="8.3" height="0.7"/>
</g>
<g>
<rect x="325.8" y="163.3" transform="matrix(0.9994 -3.580422e-02 3.580422e-02 0.9994 -5.726 11.7843)" class="st7" width="0.7" height="4.9"/>
</g>
<g>
<rect x="314.7" y="147.4" transform="matrix(0.9979 -6.447447e-02 6.447447e-02 0.9979 -8.9599 20.6207)" class="st7" width="0.7" height="3.4"/>
</g>
<g>
<rect x="331.6" y="145.3" transform="matrix(0.2392 -0.971 0.971 0.2392 107.8727 435.5647)" class="st7" width="0.7" height="7.4"/>
</g>
<g>
<rect x="340" y="128.7" transform="matrix(0.2895 -0.9572 0.9572 0.2895 116.0266 419.0793)" class="st7" width="0.7" height="5.4"/>
</g>
<g>
<rect x="321.8" y="114.8" class="st7" width="0.7" height="3.6"/>
</g>
<g>
<rect x="289.7" y="146.2" class="st7" width="1.7" height="0.7"/>
</g>
<g>
<rect x="286.9" y="155" transform="matrix(0.1631 -0.9866 0.9866 0.1631 83.3054 416.6819)" class="st7" width="0.7" height="8.4"/>
</g>
<g>
<ellipse transform="matrix(0.866 -0.5 0.5 0.866 -0.3239 142.1827)" class="st8" cx="265.2" cy="71.7" rx="7.4" ry="14.1"/>
</g>
<g>
<rect x="267.2" y="70.1" transform="matrix(0.1641 -0.9864 0.9864 0.1641 155.7633 324.7636)" class="st7" width="4.6" height="0.7"/>
</g>
<g>
<rect x="262.4" y="64" class="st7" width="3.2" height="0.7"/>
</g>
<g>
<rect x="258" y="63.6" transform="matrix(0.3229 -0.9464 0.9464 0.3229 112.8145 289.0022)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<rect x="263.7" y="69.7" transform="matrix(0.8145 -0.5802 0.5802 0.8145 7.3812 166.4733)" class="st7" width="0.7" height="4.1"/>
</g>
<g>
<polygon class="st4" points="269.8,401.2 266.5,402 265.5,405.2 267.8,407.7 271.2,407 272.2,403.7 "/>
</g>
<g>
<polygon class="st4" points="294.9,400.6 290.8,399.9 288.1,403.2 289.7,407.1 293.8,407.7 296.4,404.5 "/>
</g>
<g>
<polygon class="st4" points="275,404.5 273.3,404.5 272.4,406 273.3,407.4 275,407.4 275.8,406 "/>
</g>
<g>
<polygon class="st4" points="357.4,403.7 355.7,403.5 354.6,404.8 355.3,406.4 357,406.6 358,405.3 "/>
</g>
<g>
<polygon class="st4" points="284.6,400 282.9,400 282,401.5 282.9,403 284.6,403 285.4,401.5 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1,4 +1,5 @@
export interface ILoginRequest { export interface ILoginRequest {
user_login: string; user_login: string;
user_pass: string; user_pass: string;
xcode: string;
} }

View File

@ -24,6 +24,12 @@ instance.interceptors.request.use(
// Add a response interceptor // Add a response interceptor
instance.interceptors.response.use( instance.interceptors.response.use(
(response) => { (response) => {
// midwayjs校验
if ("success" in response.data) {
const { success, message } = response.data;
if (!success) return Message.error(message);
}
// 业务校验
const { msg, code } = response.data; const { msg, code } = response.data;
switch (code) { switch (code) {
case 10000: case 10000:

View File

@ -1,4 +1,18 @@
.main-footer { .main-footer {
display: flex;
align-items: center;
padding-bottom: 20px; padding-bottom: 20px;
text-align: center; font-size: 13px;
color: var(--color-text-3);
> span {
margin-right: 16px;
}
a {
color: var(--color-text-3);
text-decoration: none;
}
> svg {
width: 20px;
height: 20px;
}
} }

View File

@ -1,12 +1,32 @@
import "./index.less"; import "./index.less";
import { Tooltip } from "@arco-design/web-react";
export const Footer = () => { export const Footer = () => {
return ( return (
<footer className="main-footer"> <footer className="main-footer">
<span></span>
<span>Backset.cn </span>
<span> <span>
© 2023 Developed by Backset.cn ·{" "} <a href="http://beian.miit.gov.cn" target="blank">
<a href="http://beian.miit.gov.cn">ICP备19008833号-5</a> ICP证: 苏ICP备19008833号-5
</a>
</span> </span>
<Tooltip position="top" trigger="hover" content="x-arctanx">
<svg viewBox="0 0 32 32">
<path
d="M27.086 24.78A6.618 6.618 0 0 0 30 19.465c0-3.88-3.776-7.027-8.434-7.027s-8.434 3.147-8.434 7.027s3.777 7.028 8.434 7.028a9.955 9.955 0 0 0 2.754-.385l.247-.037a.892.892 0 0 1 .448.13l1.847 1.066l.162.053a.281.281 0 0 0 .281-.282l-.045-.205l-.38-1.417l-.03-.18a.56.56 0 0 1 .236-.458zM12.12 4.68C6.53 4.68 2 8.455 2 13.114a7.939 7.939 0 0 0 3.497 6.374a.671.671 0 0 1 .283.55l-.035.215l-.456 1.701l-.055.246a.338.338 0 0 0 .337.338l.196-.063l2.216-1.28a1.058 1.058 0 0 1 .536-.155l.298.044a11.967 11.967 0 0 0 3.304.464l.555-.014a6.515 6.515 0 0 1-.34-2.067c0-4.247 4.133-7.691 9.23-7.691l.55.014c-.762-4.029-4.947-7.11-9.995-7.11zm6.633 13.663a1.125 1.125 0 1 1 1.125-1.125a1.124 1.124 0 0 1-1.125 1.125zm5.624 0a1.125 1.125 0 1 1 1.123-1.125a1.125 1.125 0 0 1-1.123 1.125zm-15.631-6.58a1.35 1.35 0 1 1 1.35-1.348a1.349 1.349 0 0 1-1.35 1.349zm6.747 0a1.35 1.35 0 1 1 1.35-1.348a1.349 1.349 0 0 1-1.35 1.349z"
fill="currentColor"
></path>
</svg>
</Tooltip>
<Tooltip position="top" trigger="hover" content="1141143000">
<svg viewBox="0 0 1024 1024">
<path
d="M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112C331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3c-34 109.5-23 154.8-14.6 155.8c18 2.2 70.1-82.4 70.1-82.4c0 49 25.2 112.9 79.8 159c-26.4 8.1-85.7 29.9-71.6 53.8c11.4 19.3 196.2 12.3 249.5 6.3c53.3 6 238.1 13 249.5-6.3c14.1-23.8-45.3-45.7-71.6-53.8c54.6-46.2 79.8-110.1 79.8-159c0 0 52.1 84.6 70.1 82.4c8.5-1.1 19.5-46.4-14.5-155.8z"
fill="currentColor"
></path>
</svg>
</Tooltip>
</footer> </footer>
); );
}; };

View File

@ -27,11 +27,11 @@ export const commonRouters: IRoute[] = [
]; ];
export const lazyRouters: IRoute[] = [ export const lazyRouters: IRoute[] = [
{ // {
path: "/topic", // path: "/topic",
element: lazy(() => import("../view/Topic")), // element: lazy(() => import("../view/Topic")),
name: "讨论", // name: "讨论",
}, // },
{ {
path: "/subscribe", path: "/subscribe",
element: lazy(() => import("../view/Subscribe")), element: lazy(() => import("../view/Subscribe")),

View File

@ -1,10 +1,11 @@
.login { .login {
> svg { display: flex;
width: 48px; flex-direction: column;
height: 48px; align-items: center;
} justify-content: center;
h4 { h4 {
font-weight: 400; font-weight: 400;
margin-bottom: 48px;
font-size: 16px; font-size: 16px;
} }

View File

@ -7,6 +7,7 @@ import { useNavigate } from "react-router-dom";
const defaultForm = { const defaultForm = {
user_login: "", user_login: "",
user_pass: "", user_pass: "",
xcode: "",
}; };
const DURATION = 3; // 验证码倒计时 const DURATION = 3; // 验证码倒计时
@ -24,7 +25,7 @@ export function Login() {
}, 500); }, 500);
}; };
const onClickSmsLogin = () => { const onClickLogin = () => {
userLogin(loginForm).then((res: any) => { userLogin(loginForm).then((res: any) => {
const { code, data, msg } = res; const { code, data, msg } = res;
if (code === 10000) { if (code === 10000) {
@ -48,21 +49,33 @@ export function Login() {
className="container login" className="container login"
style={{ textAlign: "center", paddingTop: 100 }} style={{ textAlign: "center", paddingTop: 100 }}
> >
<svg <div
fill="currentColor" style={{
viewBox="0 0 1024 1024" backgroundImage: `url('/09.svg')`,
version="1.1" width: 200,
xmlns="http://www.w3.org/2000/svg" height: 200,
> transform: "translateX(15px)",
<path d="M158.165333 499.498667A42.496 42.496 0 0 0 170.666667 469.333333V256a42.666667 42.666667 0 0 1 42.666666-42.666667 42.666667 42.666667 0 0 0 0-85.333333C142.762667 128 85.333333 185.429333 85.333333 256v195.669333l-30.165333 30.165334a42.666667 42.666667 0 0 0 0 60.330666l30.165333 30.165334V768c0 70.570667 57.429333 128 128 128a42.666667 42.666667 0 0 0 0-85.333333 42.666667 42.666667 0 0 1-42.666666-42.666667v-213.333333a42.496 42.496 0 0 0-12.501334-30.165334L145.664 512l12.501333-12.501333zM978.090667 495.658667a42.709333 42.709333 0 0 0-9.258667-13.824L938.666667 451.669333V256c0-70.570667-57.429333-128-128-128a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 1 42.666666 42.666667v213.333333a42.581333 42.581333 0 0 0 12.501334 30.165334l12.501333 12.501333-12.501333 12.501333A42.496 42.496 0 0 0 853.333333 554.666667v213.333333a42.666667 42.666667 0 0 1-42.666666 42.666667 42.666667 42.666667 0 1 0 0 85.333333c70.570667 0 128-57.429333 128-128v-195.669333l30.165333-30.165334a42.709333 42.709333 0 0 0 9.258667-46.506666zM669.738667 225.450667a42.752 42.752 0 0 0-69.546667 14.762666l-255.829333 512a42.624 42.624 0 0 0 23.893333 55.424 42.922667 42.922667 0 0 0 55.552-23.765333l255.786667-512a42.538667 42.538667 0 0 0-9.813334-46.421333z"></path> }}
</svg> ></div>
<h4>Backset</h4> <h4>Backset</h4>
<div style={{ width: 320, display: "inline-block" }}> <div style={{ width: 320 }}>
<div className="form"> <div className="form">
<input <input
type="text" type="text"
className="input" className="input"
placeholder="手机" placeholder="神秘代码"
onChange={(e) =>
setLoginForm((p) => ({
...p,
xcode: e.target.value,
}))
}
/>
<input
style={{ marginTop: "1rem" }}
type="text"
className="input"
placeholder="用户名/手机"
onChange={(e) => onChange={(e) =>
setLoginForm((p) => ({ setLoginForm((p) => ({
...p, ...p,
@ -80,6 +93,9 @@ export function Login() {
user_pass: e.target.value, user_pass: e.target.value,
})) }))
} }
onKeyDown={(e) => {
if (e.key === "Enter") onClickLogin();
}}
placeholder="密码" placeholder="密码"
/> />
{/* <div className="sms-group"> {/* <div className="sms-group">
@ -99,8 +115,8 @@ export function Login() {
</Button> </Button>
</div> */} </div> */}
</div> </div>
<button className="submit-btn" onClick={onClickSmsLogin}> <button className="submit-btn" onClick={onClickLogin}>
</button> </button>
</div> </div>
</div> </div>

View File

@ -15,10 +15,8 @@
// hsl(0, 0%, 100%), // hsl(0, 0%, 100%),
// hsl(0deg 0% 0% / 21%) // hsl(0deg 0% 0% / 21%)
// ); // );
background-repeat: no-repeat; background: #e9e8e5;
background-position: center;
background-size: cover;
background-image: url("/bg.avif");
h2 { h2 {
font-size: 24px; font-size: 24px;
} }

View File

@ -7,8 +7,15 @@ function Subscribe() {
return ( return (
<div className="subscribe"> <div className="subscribe">
<div className="container"> <div className="container">
<h2></h2> <h2></h2>
<h4></h4> <h4>
/
Backset (5 - 30)
</h4>
<h4>
PS/x-arctanx
</h4>
<div className="options overlay"> <div className="options overlay">
<section> <section>
<div className="original">1,299</div> <div className="original">1,299</div>
@ -75,7 +82,9 @@ function Subscribe() {
线 backset.cn 线 backset.cn
</p> </p>
<Button type="primary" size="large" long></Button> <Button type="primary" size="large" long>
</Button>
<ul> <ul>
<li> <li>
<Icon size={20}> <Icon size={20}>

View File

@ -103,6 +103,7 @@ importers:
'@vitejs/plugin-react': ^3.1.0 '@vitejs/plugin-react': ^3.1.0
antd: ^5.2.0 antd: ^5.2.0
less: ^4.1.3 less: ^4.1.3
nanoid: 4.0.1
react: ^18.2.0 react: ^18.2.0
react-dom: ^18.2.0 react-dom: ^18.2.0
react-router-dom: 6.8.0 react-router-dom: 6.8.0
@ -114,6 +115,7 @@ importers:
'@backset/ui': link:../../packages/ui '@backset/ui': link:../../packages/ui
antd: registry.npmmirror.com/antd/5.2.0_biqbaboplfbrettd7655fr4n2y antd: registry.npmmirror.com/antd/5.2.0_biqbaboplfbrettd7655fr4n2y
less: registry.npmmirror.com/less/4.1.3 less: registry.npmmirror.com/less/4.1.3
nanoid: registry.npmmirror.com/nanoid/4.0.1
react: registry.npmmirror.com/react/18.2.0 react: registry.npmmirror.com/react/18.2.0
react-dom: registry.npmmirror.com/react-dom/18.2.0_react@18.2.0 react-dom: registry.npmmirror.com/react-dom/18.2.0_react@18.2.0
react-router-dom: registry.npmmirror.com/react-router-dom/6.8.0_biqbaboplfbrettd7655fr4n2y react-router-dom: registry.npmmirror.com/react-router-dom/6.8.0_biqbaboplfbrettd7655fr4n2y
@ -290,38 +292,6 @@ packages:
- '@types/react' - '@types/react'
dev: false dev: false
/@aws-sdk/credential-providers/3.272.0:
resolution: {integrity: sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==}
engines: {node: '>=14.0.0'}
requiresBuild: true
dependencies:
'@aws-sdk/client-cognito-identity': registry.npmmirror.com/@aws-sdk/client-cognito-identity/3.272.0
'@aws-sdk/client-sso': registry.npmmirror.com/@aws-sdk/client-sso/3.272.0
'@aws-sdk/client-sts': registry.npmmirror.com/@aws-sdk/client-sts/3.272.0
'@aws-sdk/credential-provider-cognito-identity': registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/3.272.0
'@aws-sdk/credential-provider-env': registry.npmmirror.com/@aws-sdk/credential-provider-env/3.272.0
'@aws-sdk/credential-provider-imds': registry.npmmirror.com/@aws-sdk/credential-provider-imds/3.272.0
'@aws-sdk/credential-provider-ini': registry.npmmirror.com/@aws-sdk/credential-provider-ini/3.272.0
'@aws-sdk/credential-provider-node': registry.npmmirror.com/@aws-sdk/credential-provider-node/3.272.0
'@aws-sdk/credential-provider-process': registry.npmmirror.com/@aws-sdk/credential-provider-process/3.272.0
'@aws-sdk/credential-provider-sso': registry.npmmirror.com/@aws-sdk/credential-provider-sso/3.272.0
'@aws-sdk/credential-provider-web-identity': registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/3.272.0
'@aws-sdk/property-provider': registry.npmmirror.com/@aws-sdk/property-provider/3.272.0
'@aws-sdk/shared-ini-file-loader': registry.npmmirror.com/@aws-sdk/shared-ini-file-loader/3.272.0
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types/3.272.0
tslib: 2.5.0
transitivePeerDependencies:
- aws-crt
optional: true
/@babel/code-frame/7.18.6:
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': registry.npmmirror.com/@babel/highlight/7.18.6
dev: true
optional: true
/@babel/compat-data/7.20.14: /@babel/compat-data/7.20.14:
resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -1490,204 +1460,6 @@ packages:
resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
dev: false dev: false
/@esbuild/android-arm/0.16.17:
resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-arm64/0.16.17:
resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-x64/0.16.17:
resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/darwin-arm64/0.16.17:
resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@esbuild/darwin-x64/0.16.17:
resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@esbuild/freebsd-arm64/0.16.17:
resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/freebsd-x64/0.16.17:
resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-arm/0.16.17:
resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-arm64/0.16.17:
resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-ia32/0.16.17:
resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-loong64/0.16.17:
resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-mips64el/0.16.17:
resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-ppc64/0.16.17:
resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-riscv64/0.16.17:
resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-s390x/0.16.17:
resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-x64/0.16.17:
resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/netbsd-x64/0.16.17:
resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/openbsd-x64/0.16.17:
resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/sunos-x64/0.16.17:
resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-arm64/0.16.17:
resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-ia32/0.16.17:
resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-x64/0.16.17:
resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@jridgewell/gen-mapping/0.1.1: /@jridgewell/gen-mapping/0.1.1:
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@ -2036,6 +1808,7 @@ packages:
requiresBuild: true requiresBuild: true
dependencies: dependencies:
prr: 1.0.1 prr: 1.0.1
dev: true
optional: true optional: true
/esbuild/0.16.17: /esbuild/0.16.17:
@ -2044,28 +1817,28 @@ packages:
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
optionalDependencies: optionalDependencies:
'@esbuild/android-arm': 0.16.17 '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.16.17
'@esbuild/android-arm64': 0.16.17 '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64/0.16.17
'@esbuild/android-x64': 0.16.17 '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64/0.16.17
'@esbuild/darwin-arm64': 0.16.17 '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17
'@esbuild/darwin-x64': 0.16.17 '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64/0.16.17
'@esbuild/freebsd-arm64': 0.16.17 '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17
'@esbuild/freebsd-x64': 0.16.17 '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17
'@esbuild/linux-arm': 0.16.17 '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm/0.16.17
'@esbuild/linux-arm64': 0.16.17 '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64/0.16.17
'@esbuild/linux-ia32': 0.16.17 '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32/0.16.17
'@esbuild/linux-loong64': 0.16.17 '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.16.17
'@esbuild/linux-mips64el': 0.16.17 '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17
'@esbuild/linux-ppc64': 0.16.17 '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17
'@esbuild/linux-riscv64': 0.16.17 '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17
'@esbuild/linux-s390x': 0.16.17 '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x/0.16.17
'@esbuild/linux-x64': 0.16.17 '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64/0.16.17
'@esbuild/netbsd-x64': 0.16.17 '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17
'@esbuild/openbsd-x64': 0.16.17 '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17
'@esbuild/sunos-x64': 0.16.17 '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64/0.16.17
'@esbuild/win32-arm64': 0.16.17 '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64/0.16.17
'@esbuild/win32-ia32': 0.16.17 '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32/0.16.17
'@esbuild/win32-x64': 0.16.17 '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64/0.16.17
dev: true dev: true
/esutils/2.0.3: /esutils/2.0.3:
@ -2112,14 +1885,6 @@ packages:
mime-types: 2.1.35 mime-types: 2.1.35
dev: true dev: true
/fsevents/2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
dev: true
optional: true
/function-bind/1.1.1: /function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
@ -2151,6 +1916,7 @@ packages:
/graceful-fs/4.2.10: /graceful-fs/4.2.10:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
dev: true
optional: true optional: true
/has/1.0.3: /has/1.0.3:
@ -2183,6 +1949,7 @@ packages:
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/is-arrayish/0.3.2: /is-arrayish/0.3.2:
@ -2264,13 +2031,13 @@ packages:
parse-node-version: 1.0.1 parse-node-version: 1.0.1
tslib: 2.5.0 tslib: 2.5.0
optionalDependencies: optionalDependencies:
errno: 0.1.8 errno: registry.npmmirror.com/errno/0.1.8
graceful-fs: 4.2.10 graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
image-size: 0.5.5 image-size: registry.npmmirror.com/image-size/0.5.5
make-dir: 2.1.0 make-dir: registry.npmmirror.com/make-dir/2.1.0
mime: 1.6.0 mime: registry.npmmirror.com/mime/1.6.0
needle: 3.2.0 needle: registry.npmmirror.com/needle/3.2.0
source-map: 0.6.1 source-map: registry.npmmirror.com/source-map/0.6.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2296,15 +2063,6 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/sourcemap-codec': 1.4.14
dev: true dev: true
/make-dir/2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
requiresBuild: true
dependencies:
pify: 4.0.1
semver: 5.7.1
optional: true
/mime-db/1.52.0: /mime-db/1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
@ -2321,6 +2079,7 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/mkdirp/0.5.6: /mkdirp/0.5.6:
@ -2331,25 +2090,6 @@ packages:
dev: true dev: true
optional: true optional: true
/nanoid/3.3.4:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: true
/needle/3.2.0:
resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==}
engines: {node: '>= 4.4.x'}
hasBin: true
requiresBuild: true
dependencies:
debug: registry.npmmirror.com/debug/3.2.7
iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3
sax: 1.2.4
transitivePeerDependencies:
- supports-color
optional: true
/node-fetch/2.6.9: /node-fetch/2.6.9:
resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
engines: {node: 4.x || >=6.0.0} engines: {node: 4.x || >=6.0.0}
@ -2410,7 +2150,7 @@ packages:
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
dependencies: dependencies:
nanoid: 3.3.4 nanoid: registry.npmmirror.com/nanoid/3.3.4
picocolors: 1.0.0 picocolors: 1.0.0
source-map-js: 1.0.2 source-map-js: 1.0.2
dev: true dev: true
@ -2612,17 +2352,9 @@ packages:
engines: {node: '>=14.18.0', npm: '>=8.0.0'} engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true dev: true
/saslprep/1.0.3:
resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==}
engines: {node: '>=6'}
requiresBuild: true
dependencies:
sparse-bitfield: registry.npmmirror.com/sparse-bitfield/3.0.3
optional: true
/sax/1.2.4: /sax/1.2.4:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
optional: true optional: true
@ -2666,6 +2398,7 @@ packages:
/source-map/0.6.1: /source-map/0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true
optional: true optional: true
/strip-json-comments/2.0.1: /strip-json-comments/2.0.1:
@ -2823,7 +2556,7 @@ packages:
resolve: 1.22.1 resolve: 1.22.1
rollup: 3.17.2 rollup: 3.17.2
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true dev: true
registry.npmmirror.com/@ampproject/remapping/2.2.0: registry.npmmirror.com/@ampproject/remapping/2.2.0:
@ -3270,6 +3003,32 @@ packages:
tslib: 2.5.0 tslib: 2.5.0
optional: true optional: true
registry.npmmirror.com/@aws-sdk/credential-providers/3.272.0:
resolution: {integrity: sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.272.0.tgz}
name: '@aws-sdk/credential-providers'
version: 3.272.0
engines: {node: '>=14.0.0'}
requiresBuild: true
dependencies:
'@aws-sdk/client-cognito-identity': registry.npmmirror.com/@aws-sdk/client-cognito-identity/3.272.0
'@aws-sdk/client-sso': registry.npmmirror.com/@aws-sdk/client-sso/3.272.0
'@aws-sdk/client-sts': registry.npmmirror.com/@aws-sdk/client-sts/3.272.0
'@aws-sdk/credential-provider-cognito-identity': registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/3.272.0
'@aws-sdk/credential-provider-env': registry.npmmirror.com/@aws-sdk/credential-provider-env/3.272.0
'@aws-sdk/credential-provider-imds': registry.npmmirror.com/@aws-sdk/credential-provider-imds/3.272.0
'@aws-sdk/credential-provider-ini': registry.npmmirror.com/@aws-sdk/credential-provider-ini/3.272.0
'@aws-sdk/credential-provider-node': registry.npmmirror.com/@aws-sdk/credential-provider-node/3.272.0
'@aws-sdk/credential-provider-process': registry.npmmirror.com/@aws-sdk/credential-provider-process/3.272.0
'@aws-sdk/credential-provider-sso': registry.npmmirror.com/@aws-sdk/credential-provider-sso/3.272.0
'@aws-sdk/credential-provider-web-identity': registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/3.272.0
'@aws-sdk/property-provider': registry.npmmirror.com/@aws-sdk/property-provider/3.272.0
'@aws-sdk/shared-ini-file-loader': registry.npmmirror.com/@aws-sdk/shared-ini-file-loader/3.272.0
'@aws-sdk/types': registry.npmmirror.com/@aws-sdk/types/3.272.0
tslib: 2.5.0
transitivePeerDependencies:
- aws-crt
optional: true
registry.npmmirror.com/@aws-sdk/fetch-http-handler/3.272.0: registry.npmmirror.com/@aws-sdk/fetch-http-handler/3.272.0:
resolution: {integrity: sha512-1Qhm9e0RbS1Xf4CZqUbQyUMkDLd7GrsRXWIvm9b86/vgeV8/WnjO3CMue9D51nYgcyQORhYXv6uVjAYCWbUExA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.272.0.tgz} resolution: {integrity: sha512-1Qhm9e0RbS1Xf4CZqUbQyUMkDLd7GrsRXWIvm9b86/vgeV8/WnjO3CMue9D51nYgcyQORhYXv6uVjAYCWbUExA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.272.0.tgz}
name: '@aws-sdk/fetch-http-handler' name: '@aws-sdk/fetch-http-handler'
@ -4098,6 +3857,248 @@ packages:
version: 0.7.5 version: 0.7.5
dev: false dev: false
registry.npmmirror.com/@esbuild/android-arm/0.16.17:
resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz}
name: '@esbuild/android-arm'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/android-arm64/0.16.17:
resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz}
name: '@esbuild/android-arm64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/android-x64/0.16.17:
resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz}
name: '@esbuild/android-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17:
resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz}
name: '@esbuild/darwin-arm64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/darwin-x64/0.16.17:
resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz}
name: '@esbuild/darwin-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17:
resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz}
name: '@esbuild/freebsd-arm64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17:
resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz}
name: '@esbuild/freebsd-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-arm/0.16.17:
resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz}
name: '@esbuild/linux-arm'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-arm64/0.16.17:
resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz}
name: '@esbuild/linux-arm64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-ia32/0.16.17:
resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz}
name: '@esbuild/linux-ia32'
version: 0.16.17
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-loong64/0.16.17:
resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz}
name: '@esbuild/linux-loong64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17:
resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz}
name: '@esbuild/linux-mips64el'
version: 0.16.17
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17:
resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz}
name: '@esbuild/linux-ppc64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17:
resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz}
name: '@esbuild/linux-riscv64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-s390x/0.16.17:
resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz}
name: '@esbuild/linux-s390x'
version: 0.16.17
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/linux-x64/0.16.17:
resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz}
name: '@esbuild/linux-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17:
resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz}
name: '@esbuild/netbsd-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17:
resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz}
name: '@esbuild/openbsd-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/sunos-x64/0.16.17:
resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz}
name: '@esbuild/sunos-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/win32-arm64/0.16.17:
resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz}
name: '@esbuild/win32-arm64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/win32-ia32/0.16.17:
resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz}
name: '@esbuild/win32-ia32'
version: 0.16.17
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@esbuild/win32-x64/0.16.17:
resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz}
name: '@esbuild/win32-x64'
version: 0.16.17
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/@eslint/eslintrc/0.4.3: registry.npmmirror.com/@eslint/eslintrc/0.4.3:
resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz} resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz}
name: '@eslint/eslintrc' name: '@eslint/eslintrc'
@ -6526,7 +6527,7 @@ packages:
normalize-path: registry.npmmirror.com/normalize-path/3.0.0 normalize-path: registry.npmmirror.com/normalize-path/3.0.0
readdirp: registry.npmmirror.com/readdirp/3.6.0 readdirp: registry.npmmirror.com/readdirp/3.6.0
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true dev: true
registry.npmmirror.com/chownr/1.1.4: registry.npmmirror.com/chownr/1.1.4:
@ -7567,6 +7568,16 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
registry.npmmirror.com/errno/0.1.8:
resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz}
name: errno
version: 0.1.8
hasBin: true
requiresBuild: true
dependencies:
prr: 1.0.1
optional: true
registry.npmmirror.com/error-ex/1.3.2: registry.npmmirror.com/error-ex/1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz} resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz}
name: error-ex name: error-ex
@ -7603,28 +7614,28 @@ packages:
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
optionalDependencies: optionalDependencies:
'@esbuild/android-arm': 0.16.17 '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm/0.16.17
'@esbuild/android-arm64': 0.16.17 '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64/0.16.17
'@esbuild/android-x64': 0.16.17 '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64/0.16.17
'@esbuild/darwin-arm64': 0.16.17 '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64/0.16.17
'@esbuild/darwin-x64': 0.16.17 '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64/0.16.17
'@esbuild/freebsd-arm64': 0.16.17 '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64/0.16.17
'@esbuild/freebsd-x64': 0.16.17 '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64/0.16.17
'@esbuild/linux-arm': 0.16.17 '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm/0.16.17
'@esbuild/linux-arm64': 0.16.17 '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64/0.16.17
'@esbuild/linux-ia32': 0.16.17 '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32/0.16.17
'@esbuild/linux-loong64': 0.16.17 '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64/0.16.17
'@esbuild/linux-mips64el': 0.16.17 '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el/0.16.17
'@esbuild/linux-ppc64': 0.16.17 '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64/0.16.17
'@esbuild/linux-riscv64': 0.16.17 '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64/0.16.17
'@esbuild/linux-s390x': 0.16.17 '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x/0.16.17
'@esbuild/linux-x64': 0.16.17 '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64/0.16.17
'@esbuild/netbsd-x64': 0.16.17 '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64/0.16.17
'@esbuild/openbsd-x64': 0.16.17 '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64/0.16.17
'@esbuild/sunos-x64': 0.16.17 '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64/0.16.17
'@esbuild/win32-arm64': 0.16.17 '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64/0.16.17
'@esbuild/win32-ia32': 0.16.17 '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32/0.16.17
'@esbuild/win32-x64': 0.16.17 '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64/0.16.17
dev: true dev: true
registry.npmmirror.com/escalade/3.1.1: registry.npmmirror.com/escalade/3.1.1:
@ -8228,6 +8239,16 @@ packages:
name: fs.realpath name: fs.realpath
version: 1.0.0 version: 1.0.0
registry.npmmirror.com/fsevents/2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz}
name: fsevents
version: 2.3.2
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
dev: true
optional: true
registry.npmmirror.com/function-bind/1.1.1: registry.npmmirror.com/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz}
name: function-bind name: function-bind
@ -8459,7 +8480,6 @@ packages:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz} resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz}
name: graceful-fs name: graceful-fs
version: 4.2.10 version: 4.2.10
dev: true
registry.npmmirror.com/grapheme-splitter/1.0.4: registry.npmmirror.com/grapheme-splitter/1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz} resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz}
@ -8697,6 +8717,15 @@ packages:
engines: {node: '>= 4'} engines: {node: '>= 4'}
dev: true dev: true
registry.npmmirror.com/image-size/0.5.5:
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz}
name: image-size
version: 0.5.5
engines: {node: '>=0.10.0'}
hasBin: true
requiresBuild: true
optional: true
registry.npmmirror.com/immutable/4.2.4: registry.npmmirror.com/immutable/4.2.4:
resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.2.4.tgz} resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.2.4.tgz}
name: immutable name: immutable
@ -9234,7 +9263,7 @@ packages:
name: jsonfile name: jsonfile
version: 4.0.0 version: 4.0.0
optionalDependencies: optionalDependencies:
graceful-fs: 4.2.10 graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
dev: true dev: true
registry.npmmirror.com/jsonwebtoken/9.0.0: registry.npmmirror.com/jsonwebtoken/9.0.0:
@ -9455,13 +9484,13 @@ packages:
parse-node-version: registry.npmmirror.com/parse-node-version/1.0.1 parse-node-version: registry.npmmirror.com/parse-node-version/1.0.1
tslib: registry.npmmirror.com/tslib/2.5.0 tslib: registry.npmmirror.com/tslib/2.5.0
optionalDependencies: optionalDependencies:
errno: 0.1.8 errno: registry.npmmirror.com/errno/0.1.8
graceful-fs: 4.2.10 graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
image-size: 0.5.5 image-size: registry.npmmirror.com/image-size/0.5.5
make-dir: 2.1.0 make-dir: registry.npmmirror.com/make-dir/2.1.0
mime: 1.6.0 mime: registry.npmmirror.com/mime/1.6.0
needle: 3.2.0 needle: registry.npmmirror.com/needle/3.2.0
source-map: 0.6.1 source-map: registry.npmmirror.com/source-map/0.6.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -9694,7 +9723,6 @@ packages:
dependencies: dependencies:
pify: 4.0.1 pify: 4.0.1
semver: 5.7.1 semver: 5.7.1
dev: true
registry.npmmirror.com/make-dir/3.1.0: registry.npmmirror.com/make-dir/3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz} resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz}
@ -9814,6 +9842,15 @@ packages:
dependencies: dependencies:
mime-db: registry.npmmirror.com/mime-db/1.52.0 mime-db: registry.npmmirror.com/mime-db/1.52.0
registry.npmmirror.com/mime/1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz}
name: mime
version: 1.6.0
engines: {node: '>=4'}
hasBin: true
requiresBuild: true
optional: true
registry.npmmirror.com/mime/2.6.0: registry.npmmirror.com/mime/2.6.0:
resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz} resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz}
name: mime name: mime
@ -9954,8 +9991,8 @@ packages:
mongodb-connection-string-url: registry.npmmirror.com/mongodb-connection-string-url/2.6.0 mongodb-connection-string-url: registry.npmmirror.com/mongodb-connection-string-url/2.6.0
socks: registry.npmmirror.com/socks/2.7.1 socks: registry.npmmirror.com/socks/2.7.1
optionalDependencies: optionalDependencies:
'@aws-sdk/credential-providers': 3.272.0 '@aws-sdk/credential-providers': registry.npmmirror.com/@aws-sdk/credential-providers/3.272.0
saslprep: 1.0.3 saslprep: registry.npmmirror.com/saslprep/1.0.3
transitivePeerDependencies: transitivePeerDependencies:
- aws-crt - aws-crt
@ -10102,6 +10139,14 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
registry.npmmirror.com/nanoid/4.0.1:
resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-4.0.1.tgz}
name: nanoid
version: 4.0.1
engines: {node: ^14 || ^16 || >=18}
hasBin: true
dev: false
registry.npmmirror.com/natural-compare-lite/1.4.0: registry.npmmirror.com/natural-compare-lite/1.4.0:
resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz} resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz}
name: natural-compare-lite name: natural-compare-lite
@ -10121,6 +10166,21 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
registry.npmmirror.com/needle/3.2.0:
resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz}
name: needle
version: 3.2.0
engines: {node: '>= 4.4.x'}
hasBin: true
requiresBuild: true
dependencies:
debug: registry.npmmirror.com/debug/3.2.7
iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3
sax: 1.2.4
transitivePeerDependencies:
- supports-color
optional: true
registry.npmmirror.com/negotiator/0.6.3: registry.npmmirror.com/negotiator/0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz} resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz}
name: negotiator name: negotiator
@ -12265,7 +12325,7 @@ packages:
rollup: registry.npmmirror.com/rollup/3.17.2 rollup: registry.npmmirror.com/rollup/3.17.2
typescript: registry.npmmirror.com/typescript/4.9.5 typescript: registry.npmmirror.com/typescript/4.9.5
optionalDependencies: optionalDependencies:
'@babel/code-frame': 7.18.6 '@babel/code-frame': registry.npmmirror.com/@babel/code-frame/7.18.6
dev: true dev: true
registry.npmmirror.com/rollup-plugin-postcss/4.0.2_postcss@8.4.21: registry.npmmirror.com/rollup-plugin-postcss/4.0.2_postcss@8.4.21:
@ -12310,7 +12370,7 @@ packages:
engines: {node: '>=14.18.0', npm: '>=8.0.0'} engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true dev: true
registry.npmmirror.com/run-async/2.4.1: registry.npmmirror.com/run-async/2.4.1:
@ -12374,6 +12434,16 @@ packages:
name: safer-buffer name: safer-buffer
version: 2.1.2 version: 2.1.2
registry.npmmirror.com/saslprep/1.0.3:
resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/saslprep/-/saslprep-1.0.3.tgz}
name: saslprep
version: 1.0.3
engines: {node: '>=6'}
requiresBuild: true
dependencies:
sparse-bitfield: registry.npmmirror.com/sparse-bitfield/3.0.3
optional: true
registry.npmmirror.com/sass-loader/13.2.0_sass@1.58.3+webpack@5.75.0: registry.npmmirror.com/sass-loader/13.2.0_sass@1.58.3+webpack@5.75.0:
resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass-loader/-/sass-loader-13.2.0.tgz} resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass-loader/-/sass-loader-13.2.0.tgz}
id: registry.npmmirror.com/sass-loader/13.2.0 id: registry.npmmirror.com/sass-loader/13.2.0
@ -12692,7 +12762,6 @@ packages:
name: source-map name: source-map
version: 0.6.1 version: 0.6.1
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true
registry.npmmirror.com/sparse-bitfield/3.0.3: registry.npmmirror.com/sparse-bitfield/3.0.3:
resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz} resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz}
@ -13779,7 +13848,7 @@ packages:
resolve: registry.npmmirror.com/resolve/1.22.1 resolve: registry.npmmirror.com/resolve/1.22.1
rollup: registry.npmmirror.com/rollup/3.17.2 rollup: registry.npmmirror.com/rollup/3.17.2
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: registry.npmmirror.com/fsevents/2.3.2
dev: true dev: true
registry.npmmirror.com/vod-node-sdk/1.1.0: registry.npmmirror.com/vod-node-sdk/1.1.0: