From 15d773b5988a8eee56a1875aa13e47f5cb34f275 Mon Sep 17 00:00:00 2001 From: Tim Svensson Date: Sun, 12 May 2024 13:21:57 +0200 Subject: [PATCH 1/5] first --- packages/abstract-chart/package.json | 2 +- packages/abstract-chart/src/chart.ts | 33 +++++-- .../test-defs/react-svg-rectangle.tsx | 2 +- .../src/exporters/react-svg-export-image.tsx | 91 ++++++++++--------- .../abstract-visuals-example/package.json | 4 +- 5 files changed, 73 insertions(+), 59 deletions(-) diff --git a/packages/abstract-chart/package.json b/packages/abstract-chart/package.json index cfd4a8f6..5ed9f49c 100644 --- a/packages/abstract-chart/package.json +++ b/packages/abstract-chart/package.json @@ -1,6 +1,6 @@ { "name": "abstract-chart", - "version": "7.0.0", + "version": "7.0.1", "description": "Drawing charts using multiple unit of measure axes as coordinate system", "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-chart", "main": "lib/index.js", diff --git a/packages/abstract-chart/src/chart.ts b/packages/abstract-chart/src/chart.ts index dcc4d8af..f51af641 100644 --- a/packages/abstract-chart/src/chart.ts +++ b/packages/abstract-chart/src/chart.ts @@ -68,6 +68,8 @@ export interface ChartPoint { readonly shape: ChartPointShape; readonly position: AI.Point; readonly color: AI.Color; + readonly outline: AI.Color; + readonly labelColor: AI.Color; readonly size: AI.Size; readonly label: string; readonly xAxis: XAxis; @@ -86,13 +88,16 @@ export function createChartPoint(props?: ChartPointProps): ChartPoint { label = "", xAxis = "bottom", yAxis = "left", + labelColor = AI.black, + outline = AI.transparent, } = props || {}; - return { shape, position, color, size, label, xAxis, yAxis }; + return { shape, position, color, size, label, xAxis, yAxis, labelColor, outline }; } export interface ChartLine { readonly points: Array; readonly color: AI.Color; + readonly labelColor: AI.Color; readonly thickness: number; readonly label: string; readonly xAxis: XAxis; @@ -103,8 +108,16 @@ export interface ChartLine { export type ChartLineProps = Partial; export function createChartLine(props: ChartLineProps): ChartLine { - const { points = [], color = AI.black, thickness = 1, label = "", xAxis = "bottom", yAxis = "left" } = props || {}; - return { points, color, thickness, label, xAxis, yAxis }; + const { + points = [], + color = AI.black, + thickness = 1, + label = "", + xAxis = "bottom", + yAxis = "left", + labelColor = AI.black, + } = props || {}; + return { points, color, thickness, label, xAxis, yAxis, labelColor }; } export interface ChartStackConfig { @@ -472,14 +485,14 @@ export function generateLines(xMin: number, xMax: number, yMin: number, yMax: nu l.label, chart.font, l.fontSize ?? chart.fontSize, - AI.black, + l.labelColor ?? AI.black, "normal", 0, "center", "right", "down", 0, - AI.black, + l.labelColor ?? AI.black, false ), ]); @@ -500,14 +513,14 @@ export function generatePoints(xMin: number, xMax: number, yMin: number, yMax: n p.label, chart.font, p.fontSize ?? chart.fontSize, - AI.black, + p.labelColor ?? AI.black, "normal", 0, "center", "right", "down", 0, - AI.black, + p.labelColor ?? AI.black, false ), ]); @@ -524,15 +537,15 @@ function generatePointShape(p: ChartPoint, position: AI.Point): AI.Component { AI.createPoint(position.x - halfWidth, position.y - halfHeight), AI.createPoint(position.x + halfWidth, position.y - halfHeight), ]; - return AI.createPolygon(trianglePoints, AI.black, 1, p.color); + return AI.createPolygon(trianglePoints, p.outline, 1, p.color); } else if (p.shape === "square") { const topLeft = AI.createPoint(position.x - halfWidth, position.y - halfHeight); const bottomRight = AI.createPoint(position.x + halfWidth, position.y + halfHeight); - return AI.createRectangle(topLeft, bottomRight, AI.black, 1, p.color); + return AI.createRectangle(topLeft, bottomRight, p.outline, 1, p.color); } else { const topLeft = AI.createPoint(position.x - halfWidth, position.y - halfHeight); const bottomRight = AI.createPoint(position.x + halfWidth, position.y + halfHeight); - return AI.createEllipse(topLeft, bottomRight, AI.black, 1, p.color); + return AI.createEllipse(topLeft, bottomRight, p.outline, 1, p.color); } } diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-rectangle.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-rectangle.tsx index 88149aa3..a1509ab0 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-rectangle.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-rectangle.tsx @@ -23,5 +23,5 @@ export const test: ExportTestDef = { name: "react svg rectangle", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"rect","key":"0","ref":null,"props":{"x":10,"y":50,"width":40,"height":10,"stroke":"rgb(0,0,255)","strokeWidth":2,"strokeOpacity":"1","fillOpacity":"1","fill":"rgb(255,0,0)"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"rectangle","topLeft":{"x":10,"y":50},"bottomRight":{"x":50,"y":60},"strokeColor":{"a":255,"r":0,"g":0,"b":255},"strokeThickness":2,"fillColor":{"a":255,"r":255,"g":0,"b":0}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/react-svg-export-image.tsx b/packages/abstract-image/src/exporters/react-svg-export-image.tsx index 2e6baff0..dd495398 100644 --- a/packages/abstract-image/src/exporters/react-svg-export-image.tsx +++ b/packages/abstract-image/src/exporters/react-svg-export-image.tsx @@ -17,6 +17,7 @@ export function createReactSvg( ): React.ReactElement<{}> { const cb = callbacks || {}; const id = "ai_root"; + return ( - {image.components.flatMap((c, i) => _visit(i.toString(), c as any))} + {image.components.flatMap((c, i) => ( + + ))} ); } @@ -66,32 +69,33 @@ function getIdAttr(target: Element | undefined, rootId: string): string | undefi return parts[1]; } -function _visit(key: string, component: AbstractImage.Component): Array> { +function Component({ component }: { readonly component: AbstractImage.Component }): JSX.Element { switch (component.type) { case "group": - return [ - - {component.children.flatMap((c, i) => _visit(i.toString(), c as any))} - , - ]; + return ( + + {component.children.flatMap((c, i) => ( + + ))} + + ); case "binaryimage": const url = getImageUrl(component.format, component.data); - return [ + return ( , - ]; + /> + ); + case "line": - return [ + return ( , - ]; - case "text": + /> + ); + + case "text": { if (!component.text) { - return []; + return <>; } const lineHeight = component.fontSize; @@ -143,29 +148,28 @@ function _visit(key: string, component: AbstractImage.Component): Array> = []; - if (component.strokeThickness > 0 && component.strokeColor) { - cs.push( - + + return ( + <> + {component.strokeThickness > 0 && component.strokeColor && ( + + {tSpans} + + )} + {tSpans} - ); - } - cs.push( - - {tSpans} - + ); - return cs; + } case "ellipse": const rx = Math.abs(component.bottomRight.x - component.topLeft.x) * 0.5; const ry = Math.abs(component.bottomRight.y - component.topLeft.y) * 0.5; const cx = (component.bottomRight.x + component.topLeft.x) * 0.5; const cy = (component.bottomRight.y + component.topLeft.y) * 0.5; - return [ + return ( , - ]; + /> + ); case "polyline": let linePoints = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" "); - return [ + return ( , - ]; + /> + ); case "polygon": let points = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" "); - return [ + return ( , - ]; + /> + ); case "rectangle": - return [ + return ( , - ]; + /> + ); default: - return []; + return <>; } } diff --git a/packages/abstract-visuals-example/package.json b/packages/abstract-visuals-example/package.json index b542e8db..6f0205e9 100644 --- a/packages/abstract-visuals-example/package.json +++ b/packages/abstract-visuals-example/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "abstract-visuals-example", - "version": "8.0.1", + "version": "8.0.2", "description": "abstract-visuals-example", "repository": "https://github.com/dividab/abstract-visuals", "main": "lib/index.js", @@ -17,7 +17,7 @@ ], "dependencies": { "@babel/polyfill": "^7.0.0", - "abstract-chart": "^7.0.0", + "abstract-chart": "^7.0.1", "abstract-document": "^10.0.1", "abstract-image": "^7.0.1", "base64-js": "^1.2.0", From fd45858a596e9da979b6e088ef0c52140fadb143 Mon Sep 17 00:00:00 2001 From: Tim Svensson Date: Sun, 12 May 2024 13:32:40 +0200 Subject: [PATCH 2/5] redo rename --- packages/abstract-chart/src/axis.ts | 14 +-- packages/abstract-chart/src/chart.ts | 16 ++-- .../src/exporters/react-svg-export-image.tsx | 91 +++++++++---------- 3 files changed, 60 insertions(+), 61 deletions(-) diff --git a/packages/abstract-chart/src/axis.ts b/packages/abstract-chart/src/axis.ts index 3773c3a2..78fa5c44 100644 --- a/packages/abstract-chart/src/axis.ts +++ b/packages/abstract-chart/src/axis.ts @@ -7,7 +7,7 @@ export type AxisBase = { readonly label: string; readonly labelRotation?: number; readonly tickLabelDisp?: number; - readonly textColor?: AI.Color; + readonly labelColor?: AI.Color; readonly tickLabelColor?: AI.Color; readonly thickness?: number; readonly axisColor?: AI.Color; @@ -21,13 +21,13 @@ export function createLinearAxis( min: number, max: number, label: string, - textColor?: AI.Color, + labelColor?: AI.Color, labelRotation?: number, tickLabelDisp?: number, thickness?: number, axisColor?: AI.Color ): LinearAxis { - return { type: "linear", min, max, label, textColor, labelRotation, tickLabelDisp, thickness, axisColor }; + return { type: "linear", min, max, label, labelColor, labelRotation, tickLabelDisp, thickness, axisColor }; } export type LogarithmicAxis = AxisBase & { readonly type: "logarithmic"; readonly min: number; readonly max: number }; @@ -36,13 +36,13 @@ export function createLogarithmicAxis( min: number, max: number, label: string, - textColor?: AI.Color, + labelColor?: AI.Color, labelRotation?: number, tickLabelDisp?: number, thickness?: number, axisColor?: AI.Color ): LogarithmicAxis { - return { type: "logarithmic", min, max, textColor, label, labelRotation, tickLabelDisp, thickness, axisColor }; + return { type: "logarithmic", min, max, labelColor, label, labelRotation, tickLabelDisp, thickness, axisColor }; } export type DiscreteAxis = AxisBase & { readonly type: "discrete"; readonly points: ReadonlyArray }; @@ -55,13 +55,13 @@ export interface DiscreteAxisPoint { export function createDiscreteAxis( points: ReadonlyArray, label: string, - textColor?: AI.Color, + labelColor?: AI.Color, labelRotation?: number, tickLabelDisp?: number, thickness?: number, axisColor?: AI.Color ): DiscreteAxis { - return { type: "discrete", points, textColor, label, labelRotation, tickLabelDisp, thickness, axisColor }; + return { type: "discrete", points, labelColor, label, labelRotation, tickLabelDisp, thickness, axisColor }; } const linearMultiples = [1, 2, 5]; diff --git a/packages/abstract-chart/src/chart.ts b/packages/abstract-chart/src/chart.ts index 5e4fb26a..e75e3fa4 100644 --- a/packages/abstract-chart/src/chart.ts +++ b/packages/abstract-chart/src/chart.ts @@ -646,14 +646,14 @@ export function generateXAxisLabels( l.label ?? formatNumber(l.value), chart.font, axis.tickFontSize ?? chart.fontSize, - axis.textColor ?? AI.black, + axis.labelColor ?? AI.black, "normal", axis.labelRotation ?? 0, "center", "uniform", growVertical, 0, - axis.textColor ?? AI.black, + axis.labelColor ?? AI.black, false ); }); @@ -674,14 +674,14 @@ export function generateXAxisLabel( axis.label, chart.font, axis.axisFontSize ?? chart.fontSize, - axis.textColor ?? AI.black, + axis.labelColor ?? AI.black, "normal", 0, "center", horizontalGrowthDirection, verticalGrowthDirection, 0, - axis.textColor ?? AI.black, + axis.labelColor ?? AI.black, false ); } @@ -720,14 +720,14 @@ export function generateYAxisLabels( l.label ?? formatNumber(l.value), chart.font, yAxis.tickFontSize ?? chart.fontSize, - yAxis.textColor ?? AI.black, + yAxis.labelColor ?? AI.black, "normal", yAxis.labelRotation ?? 0, "center", growHorizontal, "uniform", 0, - yAxis.textColor ?? AI.black, + yAxis.labelColor ?? AI.black, false ); }); @@ -748,14 +748,14 @@ export function generateYAxisLabel( axis.label, chart.font, axis.axisFontSize ?? chart.fontSize, - axis.textColor ?? AI.black, + axis.labelColor ?? AI.black, "normal", -90, "center", horizontalGrowthDirection, verticalGrowthDirection, 0, - axis.textColor ?? AI.black, + axis.labelColor ?? AI.black, false ); } diff --git a/packages/abstract-image/src/exporters/react-svg-export-image.tsx b/packages/abstract-image/src/exporters/react-svg-export-image.tsx index dd495398..2e6baff0 100644 --- a/packages/abstract-image/src/exporters/react-svg-export-image.tsx +++ b/packages/abstract-image/src/exporters/react-svg-export-image.tsx @@ -17,7 +17,6 @@ export function createReactSvg( ): React.ReactElement<{}> { const cb = callbacks || {}; const id = "ai_root"; - return ( - {image.components.flatMap((c, i) => ( - - ))} + {image.components.flatMap((c, i) => _visit(i.toString(), c as any))} ); } @@ -69,33 +66,32 @@ function getIdAttr(target: Element | undefined, rootId: string): string | undefi return parts[1]; } -function Component({ component }: { readonly component: AbstractImage.Component }): JSX.Element { +function _visit(key: string, component: AbstractImage.Component): Array> { switch (component.type) { case "group": - return ( - - {component.children.flatMap((c, i) => ( - - ))} - - ); + return [ + + {component.children.flatMap((c, i) => _visit(i.toString(), c as any))} + , + ]; case "binaryimage": const url = getImageUrl(component.format, component.data); - return ( + return [ - ); - + />, + ]; case "line": - return ( + return [ - ); - - case "text": { + />, + ]; + case "text": if (!component.text) { - return <>; + return []; } const lineHeight = component.fontSize; @@ -148,28 +143,29 @@ function Component({ component }: { readonly component: AbstractImage.Component lineHeight ) ); - - return ( - <> - {component.strokeThickness > 0 && component.strokeColor && ( - - {tSpans} - - )} - + let cs: Array> = []; + if (component.strokeThickness > 0 && component.strokeColor) { + cs.push( + {tSpans} - + ); + } + cs.push( + + {tSpans} + ); - } + return cs; case "ellipse": const rx = Math.abs(component.bottomRight.x - component.topLeft.x) * 0.5; const ry = Math.abs(component.bottomRight.y - component.topLeft.y) * 0.5; const cx = (component.bottomRight.x + component.topLeft.x) * 0.5; const cy = (component.bottomRight.y + component.topLeft.y) * 0.5; - return ( + return [ - ); + />, + ]; case "polyline": let linePoints = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" "); - return ( + return [ - ); + />, + ]; case "polygon": let points = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" "); - return ( + return [ - ); + />, + ]; case "rectangle": - return ( + return [ - ); + />, + ]; default: - return <>; + return []; } } From 5d6590eee783e74291222c2779376648155769f7 Mon Sep 17 00:00:00 2001 From: Tim Svensson Date: Sun, 12 May 2024 13:37:45 +0200 Subject: [PATCH 3/5] img --- .../src/exporters/react-svg-export-image.tsx | 91 ++++++++++--------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/packages/abstract-image/src/exporters/react-svg-export-image.tsx b/packages/abstract-image/src/exporters/react-svg-export-image.tsx index 2e6baff0..dd495398 100644 --- a/packages/abstract-image/src/exporters/react-svg-export-image.tsx +++ b/packages/abstract-image/src/exporters/react-svg-export-image.tsx @@ -17,6 +17,7 @@ export function createReactSvg( ): React.ReactElement<{}> { const cb = callbacks || {}; const id = "ai_root"; + return ( - {image.components.flatMap((c, i) => _visit(i.toString(), c as any))} + {image.components.flatMap((c, i) => ( + + ))} ); } @@ -66,32 +69,33 @@ function getIdAttr(target: Element | undefined, rootId: string): string | undefi return parts[1]; } -function _visit(key: string, component: AbstractImage.Component): Array> { +function Component({ component }: { readonly component: AbstractImage.Component }): JSX.Element { switch (component.type) { case "group": - return [ - - {component.children.flatMap((c, i) => _visit(i.toString(), c as any))} - , - ]; + return ( + + {component.children.flatMap((c, i) => ( + + ))} + + ); case "binaryimage": const url = getImageUrl(component.format, component.data); - return [ + return ( , - ]; + /> + ); + case "line": - return [ + return ( , - ]; - case "text": + /> + ); + + case "text": { if (!component.text) { - return []; + return <>; } const lineHeight = component.fontSize; @@ -143,29 +148,28 @@ function _visit(key: string, component: AbstractImage.Component): Array> = []; - if (component.strokeThickness > 0 && component.strokeColor) { - cs.push( - + + return ( + <> + {component.strokeThickness > 0 && component.strokeColor && ( + + {tSpans} + + )} + {tSpans} - ); - } - cs.push( - - {tSpans} - + ); - return cs; + } case "ellipse": const rx = Math.abs(component.bottomRight.x - component.topLeft.x) * 0.5; const ry = Math.abs(component.bottomRight.y - component.topLeft.y) * 0.5; const cx = (component.bottomRight.x + component.topLeft.x) * 0.5; const cy = (component.bottomRight.y + component.topLeft.y) * 0.5; - return [ + return ( , - ]; + /> + ); case "polyline": let linePoints = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" "); - return [ + return ( , - ]; + /> + ); case "polygon": let points = component.points.map((p) => p.x.toString() + "," + p.y.toString()).join(" "); - return [ + return ( , - ]; + /> + ); case "rectangle": - return [ + return ( , - ]; + /> + ); default: - return []; + return <>; } } From c674a9bfcda3163aeb12f9e389f7cc2ea74f664c Mon Sep 17 00:00:00 2001 From: Tim Svensson Date: Mon, 13 May 2024 10:27:44 +0200 Subject: [PATCH 4/5] tests --- .../react-svg-direction-exception.test.tsx | 111 +++++++++--------- .../svg-direction-exception.test.tsx | 4 +- .../test-defs/react-svg-binary-png.tsx | 3 +- .../test-defs/react-svg-binary-url.tsx | 3 +- .../test-defs/react-svg-binary.tsx | 3 +- .../test-defs/react-svg-ellipse.tsx | 2 +- .../test-defs/react-svg-empty-text.tsx | 2 +- .../test-defs/react-svg-group.tsx | 2 +- .../test-defs/react-svg-line.tsx | 2 +- .../test-defs/react-svg-polygon.tsx | 2 +- .../test-defs/react-svg-polyline.tsx | 2 +- .../test-defs/react-svg-subimage.tsx | 2 +- .../test-defs/react-svg-text-bold.tsx | 2 +- .../react-svg-text-growth-directions.tsx | 2 +- .../test-defs/react-svg-text-italic.tsx | 4 +- .../test-defs/react-svg-text-sub.tsx | 2 +- .../test-defs/react-svg-text.tsx | 2 +- .../src/exporters/react-svg-export-image.tsx | 79 ++++++------- .../src/exporters/svg-export-image.ts | 24 +--- .../abstract-image/src/model/component.ts | 32 +++-- 20 files changed, 131 insertions(+), 154 deletions(-) diff --git a/packages/abstract-image/src/exporters/__tests__/exception/react-svg-direction-exception.test.tsx b/packages/abstract-image/src/exporters/__tests__/exception/react-svg-direction-exception.test.tsx index 4bd3d93e..bf138961 100644 --- a/packages/abstract-image/src/exporters/__tests__/exception/react-svg-direction-exception.test.tsx +++ b/packages/abstract-image/src/exporters/__tests__/exception/react-svg-direction-exception.test.tsx @@ -1,65 +1,64 @@ +/** + * @jest-environment jsdom + */ +import { render } from "@testing-library/react"; import * as AbstractImage from "../../../../src/index"; -describe("react svg text unknown direction", () => { - it("should throw an exception", () => { - expect(() => { - const components = [ - AbstractImage.createText( - AbstractImage.createPoint(10, 10), - "Hello World", - "Arial", - 12, - AbstractImage.black, - "bold", - 0, - "center", - "down", - "down", - 2, - AbstractImage.red, - false - ), - ]; - const image = AbstractImage.createAbstractImage( - AbstractImage.createPoint(0, 0), - AbstractImage.createSize(400, 400), - AbstractImage.white, - components - ); +const components = [ + AbstractImage.createText( + AbstractImage.createPoint(10, 10), + "Hello World", + "Arial", + 12, + AbstractImage.black, + "bold", + 0, + "center", + "down", + "down", + 2, + AbstractImage.red, + false + ), +]; +const image = AbstractImage.createAbstractImage( + AbstractImage.createPoint(0, 0), + AbstractImage.createSize(400, 400), + AbstractImage.white, + components +); - const svg = AbstractImage.createReactSvg(image); - }).toThrow("Unknown text alignment down"); - }); +describe("react svg text unknown direction", () => { + it("should throw an exception", () => + expect(() => render(AbstractImage.createReactSvg(image))).toThrow("Unknown text anchor down")); }); +const components2 = [ + AbstractImage.createText( + AbstractImage.createPoint(10, 10), + "Hello World", + "Arial", + 12, + AbstractImage.black, + "bold", + 0, + "center", + "right", + "right", + 2, + AbstractImage.red, + false + ), +]; +const image2 = AbstractImage.createAbstractImage( + AbstractImage.createPoint(0, 0), + AbstractImage.createSize(400, 400), + AbstractImage.white, + components2 +); + describe("react svg text unknown direction", () => { it("should throw an exception", () => { - expect(() => { - const components = [ - AbstractImage.createText( - AbstractImage.createPoint(10, 10), - "Hello World", - "Arial", - 12, - AbstractImage.black, - "bold", - 0, - "center", - "right", - "right", - 2, - AbstractImage.red, - false - ), - ]; - const image = AbstractImage.createAbstractImage( - AbstractImage.createPoint(0, 0), - AbstractImage.createSize(400, 400), - AbstractImage.white, - components - ); - - const svg = AbstractImage.createReactSvg(image); - }).toThrow("Unknown text alignment right"); + expect(() => render(AbstractImage.createReactSvg(image2))).toThrow("Unknown text alignment right"); }); }); diff --git a/packages/abstract-image/src/exporters/__tests__/exception/svg-direction-exception.test.tsx b/packages/abstract-image/src/exporters/__tests__/exception/svg-direction-exception.test.tsx index 202c1837..32a849c1 100644 --- a/packages/abstract-image/src/exporters/__tests__/exception/svg-direction-exception.test.tsx +++ b/packages/abstract-image/src/exporters/__tests__/exception/svg-direction-exception.test.tsx @@ -26,9 +26,8 @@ describe("svg text unknown direction", () => { AbstractImage.white, components ); - const svg = AbstractImage.createSVG(image); - }).toThrow("Unknown text alignment down"); + }).toThrow("Unknown text anchor down"); }); }); @@ -58,7 +57,6 @@ describe("svg text unknown direction", () => { AbstractImage.white, components ); - const svg = AbstractImage.createSVG(image); }).toThrow("Unknown text alignment right"); }); diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-png.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-png.tsx index 36f921c4..9b5a9a1a 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-png.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-png.tsx @@ -22,5 +22,6 @@ const svg = AbstractImage.createReactSvg(abstractImage); export const test: ExportTestDef = { name: "react svg binary png", abstractImage: svg, - expectedSerializedJsx: `{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"image","key":"0","ref":null,"props":{"x":0,"y":0,"width":400,"height":400,"href":"data:image/png;base64,${pngEncoded}"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}`, + expectedSerializedJsx: + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"binaryimage","topLeft":{"x":0,"y":0},"bottomRight":{"x":400,"y":400},"format":"png","data":{"type":"bytes","bytes":{"type":"Buffer","data":[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,200,0,0,0,150,8,2,0,0,0,20,190,80,78,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,0,9,112,72,89,115,0,0,14,195,0,0,14,195,1,199,111,168,100,0,0,12,26,73,68,65,84,120,94,237,157,63,79,219,92,27,135,121,95,197,150,91,67,148,208,200,5,41,18,138,26,117,232,140,191,1,82,17,83,55,198,172,48,188,11,98,99,102,171,88,58,148,149,145,173,83,69,165,124,131,100,238,80,165,138,144,34,65,163,244,73,148,39,110,45,219,195,107,39,46,141,227,219,177,143,237,67,156,240,187,20,233,113,120,168,9,246,197,125,223,231,143,207,249,207,207,114,117,13,128,180,249,175,251,95,0,82,5,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,79,66,135,97,153,117,93,251,108,142,190,154,107,13,67,119,191,56,70,21,165,181,53,241,205,115,241,64,146,247,114,130,251,85,48,38,53,177,234,253,206,161,230,185,238,4,162,164,218,119,66,16,15,54,34,221,137,246,168,123,60,24,54,220,119,127,16,165,90,254,229,133,20,225,70,234,221,253,222,212,63,23,243,231,155,202,81,206,125,23,134,89,31,245,223,251,127,122,48,170,152,63,221,44,194,176,9,41,137,165,119,95,244,134,238,113,84,36,85,46,126,44,202,21,247,173,15,107,176,127,223,11,186,175,106,97,231,102,61,228,22,214,251,173,67,205,61,158,80,43,85,47,236,40,19,70,91,239,30,79,27,201,130,42,151,62,22,11,129,191,212,147,97,129,53,150,222,208,238,118,59,157,75,203,125,63,139,101,204,185,181,141,193,143,192,127,152,8,243,178,219,218,141,107,149,77,67,235,29,143,76,247,205,19,102,225,197,187,126,118,223,57,9,75,161,20,250,217,191,222,112,148,28,75,59,233,220,158,25,238,187,216,52,204,196,167,88,126,178,208,42,212,175,122,221,186,123,204,130,214,79,53,104,105,39,247,119,87,238,177,15,187,62,43,109,55,183,170,118,229,240,240,106,110,237,92,151,74,53,167,132,7,179,112,20,203,46,131,166,111,195,79,251,54,20,242,170,251,63,103,24,30,246,99,132,159,20,131,150,157,1,3,172,18,243,215,182,79,138,114,36,201,21,111,225,95,201,9,123,82,225,66,41,255,44,239,52,75,121,85,116,191,14,108,30,49,98,217,183,97,93,185,41,111,215,220,247,94,52,45,60,104,57,141,74,47,218,93,172,52,58,75,123,244,131,206,128,242,118,83,81,246,194,27,146,66,69,82,110,148,170,163,151,253,23,37,64,177,5,164,66,249,98,171,68,197,45,163,21,154,215,132,245,119,190,91,118,53,28,180,221,195,216,104,31,6,148,158,98,169,57,167,209,74,225,232,85,174,134,54,87,159,2,139,168,177,114,178,223,15,59,175,125,11,47,152,132,163,124,222,61,124,192,232,125,72,22,180,218,163,62,149,4,243,215,10,122,13,226,179,144,226,93,168,82,127,210,95,173,8,173,116,169,120,158,114,208,50,191,252,34,196,84,11,197,61,247,16,196,97,33,98,37,129,14,90,241,187,142,44,237,19,81,93,229,79,145,206,146,177,16,177,204,22,165,193,155,208,193,16,211,116,34,147,36,251,203,255,198,160,31,167,195,194,233,100,31,17,125,161,178,140,112,149,144,133,136,101,124,35,130,132,244,58,234,40,158,252,191,130,191,235,104,248,62,86,208,250,110,18,121,176,246,76,118,143,64,92,22,32,86,64,177,44,86,163,138,181,86,89,127,233,175,180,98,13,242,144,177,51,186,226,32,144,71,23,203,26,28,147,109,123,182,236,67,85,90,113,250,75,201,216,25,160,184,222,125,209,105,133,191,186,177,70,17,86,142,199,19,171,109,153,245,126,231,5,61,97,65,58,223,96,204,62,84,243,48,237,65,30,15,109,43,218,8,160,17,51,41,175,24,28,197,106,12,110,167,255,148,119,239,111,131,38,108,169,133,151,145,167,73,61,144,70,208,178,204,175,238,209,20,162,248,202,61,242,64,86,99,36,24,132,182,89,72,241,238,65,149,183,99,118,85,211,65,43,241,32,143,97,124,119,143,60,188,18,48,216,204,192,130,197,114,230,235,21,99,55,193,200,160,197,210,95,154,19,222,184,71,225,84,114,196,112,1,8,98,97,98,169,114,233,122,43,241,176,26,25,180,146,14,242,4,140,90,74,138,103,178,198,228,69,143,123,130,71,21,75,82,69,169,38,151,206,75,59,205,114,245,166,88,136,48,107,32,148,132,65,75,124,77,132,161,40,163,150,32,4,142,98,205,206,199,42,151,111,148,242,69,177,112,36,9,105,14,238,74,202,181,63,151,70,13,90,9,70,45,193,92,22,95,188,39,103,111,131,200,71,118,208,90,139,80,110,239,61,35,2,94,227,151,150,120,42,206,83,103,21,196,90,203,21,78,137,160,53,250,28,37,238,228,68,162,72,74,60,21,7,172,132,88,116,208,210,175,66,159,115,180,161,39,135,165,50,127,240,73,179,34,98,209,65,43,18,116,249,159,104,42,14,88,29,177,2,42,173,72,144,125,22,227,145,131,125,184,21,151,213,17,43,81,208,218,164,165,116,220,234,15,234,232,125,96,103,133,196,74,18,180,114,133,155,18,149,16,109,183,180,222,225,125,107,191,219,189,212,205,246,148,97,109,75,187,236,119,230,44,2,240,196,89,41,177,18,4,45,167,63,172,73,204,31,116,105,24,195,179,222,237,238,253,244,152,250,221,153,166,195,170,32,86,75,44,59,104,21,3,158,91,140,64,101,189,60,121,48,48,33,120,174,208,102,213,196,114,158,91,12,72,106,81,112,30,12,220,218,174,37,18,67,122,23,101,137,165,85,39,37,177,114,242,204,18,6,170,152,79,122,125,37,251,156,238,225,24,169,246,60,218,227,163,118,82,179,3,207,172,28,82,173,176,19,101,13,35,251,119,185,80,170,77,71,47,182,121,50,246,175,60,30,6,45,179,207,45,91,65,176,162,95,8,109,93,251,242,91,251,228,204,221,211,27,158,9,124,146,227,174,32,190,19,228,170,36,98,189,181,25,32,22,224,194,234,213,88,32,19,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,176,40,200,130,176,204,186,174,125,54,71,95,205,181,134,225,89,54,92,117,150,79,18,223,60,23,15,36,121,121,23,177,73,73,44,75,59,249,167,127,53,117,129,156,245,177,54,21,114,165,168,246,168,123,60,24,18,139,44,138,146,42,20,63,22,163,45,130,229,165,173,15,142,135,61,239,50,67,46,206,6,99,76,91,65,89,131,147,127,122,87,254,83,137,249,243,128,223,136,5,179,62,234,191,39,127,253,0,236,43,121,186,89,156,99,88,189,223,9,218,8,114,46,210,249,22,199,165,188,82,18,75,239,190,232,13,221,227,63,208,119,212,26,132,44,8,43,150,154,74,129,205,45,234,167,79,83,43,85,35,45,185,54,166,222,111,29,6,109,166,25,227,179,77,209,214,187,199,61,6,165,166,81,229,210,199,34,245,163,67,175,103,48,76,151,133,149,71,175,177,44,35,228,42,48,175,220,111,94,14,231,89,101,195,178,233,146,246,121,206,22,173,198,232,75,204,165,185,205,203,110,107,55,174,85,54,13,45,224,178,132,94,207,5,145,197,226,157,109,143,36,189,127,150,226,78,185,186,70,237,176,255,128,254,73,103,223,82,192,174,19,58,183,201,63,228,114,237,8,156,201,86,33,75,96,168,255,14,9,87,76,132,158,141,125,99,48,237,228,254,46,80,86,103,217,210,237,230,214,244,230,123,213,230,214,206,117,169,196,186,2,42,59,210,107,158,107,165,102,65,172,124,109,118,113,246,232,129,193,151,185,236,22,128,123,20,131,185,121,112,2,91,54,180,51,96,128,85,98,254,218,246,73,81,142,36,185,226,189,193,149,156,176,39,21,46,148,242,207,242,14,181,74,111,56,190,157,34,201,23,223,69,120,51,17,177,14,124,155,6,54,6,253,186,123,56,143,246,168,63,115,219,212,231,235,209,183,121,158,129,56,155,236,95,246,157,33,27,182,71,63,232,12,40,111,55,21,37,194,6,179,130,179,60,184,82,157,172,62,191,92,203,199,103,35,21,74,178,111,213,255,225,231,240,22,180,249,229,215,204,55,229,79,227,111,50,237,63,155,244,110,163,232,223,116,46,162,244,118,252,251,48,160,126,7,187,105,201,216,165,226,232,85,78,188,127,246,227,146,145,26,75,62,240,109,85,114,245,59,44,45,89,218,167,153,120,32,203,123,238,17,59,254,179,137,235,111,115,194,219,231,254,90,39,138,244,68,252,27,147,191,78,208,97,177,68,100,165,120,39,182,208,213,180,249,129,161,173,143,102,90,218,181,103,177,119,210,33,206,166,142,247,43,168,72,235,254,162,45,92,122,34,254,57,168,133,98,124,245,151,138,172,136,197,158,13,253,137,38,127,16,191,33,69,229,193,201,206,26,228,22,172,97,210,19,241,207,33,73,166,94,50,50,35,22,107,54,244,119,56,165,159,7,39,71,113,178,161,63,254,57,36,249,132,203,70,118,196,34,179,97,255,50,160,109,239,239,112,226,145,7,39,196,200,134,223,77,194,187,36,159,112,233,200,144,88,84,54,12,106,219,251,59,156,146,228,65,127,86,245,238,224,197,156,13,205,22,241,169,249,118,72,78,211,24,220,62,236,171,72,190,78,230,134,219,84,200,146,88,84,54,36,123,186,137,14,167,36,69,177,63,171,254,205,131,19,232,108,248,62,112,76,211,248,70,20,88,98,149,20,75,239,206,220,117,250,213,237,70,235,227,136,4,203,224,105,76,50,37,22,181,247,46,209,211,29,92,104,199,194,159,85,167,243,224,4,50,27,178,15,239,16,180,45,194,65,2,99,142,199,89,36,91,98,81,73,199,151,13,231,21,218,49,240,103,85,74,83,50,27,6,13,239,88,230,87,247,104,10,81,124,229,30,121,32,171,49,18,12,66,39,129,72,58,51,61,221,243,11,109,102,194,243,224,4,50,27,178,76,118,48,140,239,238,145,135,87,66,252,218,48,54,111,248,79,76,205,154,88,100,210,153,110,219,135,21,218,140,68,201,131,19,24,178,97,78,136,62,94,89,201,249,35,97,82,66,7,161,249,205,239,123,32,115,98,145,73,231,111,219,62,106,128,137,72,180,60,56,129,41,27,18,24,45,242,59,37,101,230,174,59,175,45,95,173,185,108,100,79,44,50,233,252,105,219,71,15,48,81,32,134,243,230,105,26,61,27,138,175,137,48,164,127,139,170,224,42,144,65,177,130,179,161,53,120,31,61,192,132,67,13,231,25,189,221,153,118,254,212,107,151,154,173,64,77,118,16,170,212,135,122,132,70,126,118,200,162,88,116,54,28,14,234,254,113,18,185,24,127,182,26,61,156,23,3,98,120,135,24,69,72,169,123,98,89,200,164,88,100,210,49,122,135,190,128,145,238,48,78,108,136,225,157,156,72,20,73,70,239,3,17,242,86,147,108,138,69,55,193,124,164,59,157,33,1,254,225,29,178,210,31,199,221,39,18,180,50,42,86,208,141,241,144,238,116,134,68,248,179,161,112,148,39,178,33,251,195,109,203,74,86,197,162,155,96,30,210,206,131,249,235,153,54,127,192,171,89,32,62,24,145,13,165,226,57,245,183,209,24,220,238,63,1,183,50,43,86,104,54,76,59,15,70,142,127,244,7,35,38,59,8,71,155,116,119,148,227,86,127,80,95,233,222,135,236,138,21,146,13,147,228,65,234,25,87,134,103,96,232,15,70,13,18,231,10,55,37,42,33,218,110,105,189,195,251,214,126,183,123,169,155,237,41,195,218,150,118,217,239,196,126,106,126,66,232,180,153,241,171,19,52,215,45,21,50,44,86,80,153,226,32,157,111,196,207,131,212,83,169,76,253,97,116,154,166,123,19,36,133,76,157,19,26,198,240,172,119,187,123,255,247,126,239,222,223,157,105,122,90,205,213,185,176,12,116,178,147,101,177,236,187,226,159,250,55,38,229,97,28,230,19,210,217,48,96,120,167,178,94,158,60,24,152,16,60,87,152,34,196,212,63,155,148,167,51,196,56,33,157,13,3,99,128,243,96,224,214,118,45,145,24,1,49,149,236,48,203,0,41,137,149,147,103,214,26,112,214,199,10,184,16,222,239,148,84,153,158,168,52,97,111,195,119,63,196,249,207,186,216,46,122,159,178,159,249,36,190,59,161,138,37,246,135,103,132,183,121,127,16,146,230,77,71,201,201,23,74,181,233,232,197,214,232,176,175,228,121,105,167,25,244,68,124,174,112,42,179,157,240,15,137,102,133,132,130,21,253,22,67,91,215,190,252,214,62,57,115,247,116,239,122,113,146,179,88,131,32,190,19,228,170,36,62,249,21,253,0,240,146,241,26,11,44,43,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,92,128,88,128,11,16,11,112,1,98,1,46,64,44,192,5,136,5,184,0,177,0,23,32,22,224,2,196,2,28,88,91,251,63,69,12,57,131,88,144,189,44,0,0,0,0,73,69,78,68,174,66,96,130]}}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-url.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-url.tsx index 56769f99..004a1448 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-url.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-url.tsx @@ -22,5 +22,6 @@ const svg = AbstractImage.createReactSvg(abstractImage); export const test: ExportTestDef = { name: "react svg binary png url", abstractImage: svg, - expectedSerializedJsx: `{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"500px","height":"500px","viewBox":"0 0 500 500","children":[{"type":"image","key":"0","ref":null,"props":{"x":100,"y":100,"width":400,"height":400,"href":"data:image/png;base64,${pngEncoded}"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}`, + expectedSerializedJsx: + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"500px","height":"500px","viewBox":"0 0 500 500","children":[{"key":"0","ref":null,"props":{"component":{"type":"binaryimage","topLeft":{"x":100,"y":100},"bottomRight":{"x":500,"y":500},"format":"png","data":{"type":"url","url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACWCAIAAAAUvlBOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAwaSURBVHhe7Z0/T9tcG4d5X8WWW0OU0MgFKRKKGnXojL8BUhFTN8asMLwLYmNmq1g6lJWRrVNFpXyDZO5QpYqQIkGj9EmUJ24t28NrJy6N49uxj+1DnPC7FOlxeKgJ9sV93+ePz/nPz3J1DYC0+a/7XwBSBWIBLkAswAWIBbgAsQAXIBbgAsQCXIBYgAsQC3ABYgEuQCzABYgFuACxABcgFuACxAJcgFiACxALcAFiAS5ALMAFiAW4ALEAFyAW4ALEAlyAWIALEAtwAU9Ch2GZdV37bI6+mmsNQ3e/OEYVpbU18c1z8UCS93KC+1UwJjWx6v3Ooea57gSipNp3QhAPNiLdifaoezwYNtx3fxClWv7lhRThRurd/d7UPxfz55vKUc59F4ZZH/Xf+396MKqYP90swrAJKYmld1/0hu5xVCRVLn4syhX3rQ9rsH/fC7qvamHnZj3kFtb7rUPNPZ5QK1Uv7CgTRlvvHk8byYIqlz4WC4G/1JNhgTWW3tDudjudS8t9P4tlzLm1jcGPwH+YCPOy29qNa5VNQ+sdj0z3zRNm4cW7fnbfOQlLoRT62b/ecJQcSzvp3J4Z7rvYNMzEp1h+stAq1K963bp7zILWTzVoaSf3d1fusQ+7PittN7eqduXw8Gpu7VyXSjWnhAezcBTLLoOmb8NP+zYU8qr7P2cYHvZjhJ8Ug5adAQOsEvPXtk+KciTJFW/hX8kJe1LhQin/LO80S3lVdL8ObB4xYtm3YV25KW/X3PdeNC08aDmNSi/aXaw0Okt79IPOgPJ2U1H2whuSQkVSbpSqo5f9FyVAsQWkQvliq0TFLaMVmteE9Xe+W3Y1HLTdw9hoHwaUnmKpOafRSuHoVa6GNlefAouosXKy3w87r30LL5iEo3zePXzA6H1IFrTaoz6VBPPXCnoN4rOQ4l2oUn/SX60IrXSpeJ5y0DK//CLEVAvFPfcQxGEhYiWBDlrxu44s7RNRXeVPkc6SsRCxzBalwZvQwRDTdCKTJPvL/8agH6fDwulkHxF9obKMcJWQhYhlfCOChPQ66iie/L+Cv+to+D5W0PpuEnmw9kx2j0BcFiBWQLEsVqOKtVZZf+mvtGIN8pCxM7riIJBHF8saHJNte7bsQ1VacfpLydgZoLjefdFphb+6sUYRVo7HE6ttmfV+5wU9YUE632DMPlTzMO1BHg9tK9oIoBEzKa8YHMVqDG6n/5R372+DJmyphZeRp0k9kEbQssyv7tEUovjKPfJAVmMkGIS2WUjx7kGVt2N2VdNBK/Egj2F8d488vBIw2MzAgsVy5usVYzfByKDF0l+aE964R+FUcsRwAQhiYWKpcul6K/GwGhm0kg7yBIxaSopnssbkRY97gkcVS1JFqSaXzks7zXL1pliIMGsglIRBS3xNhKEoo5YgBI5izc7HKpdvlPJFsXAkCWkO7krKtT+XRg1aCUYtwVwWX7wnZ2+DyEd20FqLUG7vPSMCXuOXlngqzlNnFcRayxVOiaA1+hwl7uREokhKPBUHrIRYdNDSr0Kfc7ShJ4elMn/wSbMiYtFBKxJ0+Z9oKg5YHbECKq1IkH0W45GDfbgVl9URK1HQ2qSldNzqD+rofWBnhcRKErRyhZsSlRBtt7Te4X1rv9u91M32lGFtS7vsd+YsAvDEWSmxEgQtpz+sScwfdGkYw7Pe7e799Jj63Zmmw6ogVkssO2gVA55bjEBlvTx5MDAheK7QZtXEcp5bDEhqUXAeDNzariUSQ3oXZYmlVSclsXLyzBIGqphPen0l+5zu4Rip9jza46N2UrMDz6wcUq2wE2UNI/t3uVCqTUcvtnky9q88HgYts88tW0Gwol8IbV378lv75Mzd0xueCXyS464gvhPkqiRivbUZIBbgwurVWCATQCzABYgFuACxABcgFuACxAJcgFiACxALcAFiAS5ALMAFiAW4ALEAFyAW4ALEAlyAWIALEAtwAWIBLkAswAWIBbgAsQAXIBbgAsQCXIBYgAsQC3ABYgEuQCzABYgFuACxABewKMiCsMy6rn02R1/NtYbhWTZcdZZPEt88Fw8keXkXsUlJLEs7+ad/NXWBnPWxNhVypaj2qHs8GBKLLIqSKhQ/FqMtguWlrQ+Ohz3vMkMuzgZjTFtBWYOTf3pX/lOJ+fOA34gFsz7qvyd//QDsK3m6WZxjWL3fCdoIci7S+RbHpbxSEkvvvugN3eM/0HfUGoQsCCuWmkqBzS3qp09TK1UjLbk2pt5vHQZtphnjs03R1rvHPQalplHl0sci9aNDr2cwTJeFlUevsSwj5Cowr9xvXg7nWWXDsumS9nnOFq3G6EvMpbnNy25rN65VNg0t4LKEXs8FkcXinW2PJL1/luJOubpG7bD/gP5JZ99SwK4TOrfJP+Ry7QicyVYhS2Co/w4JV0yEno19YzDt5P4uUFZn2dLt5tb05nvV5tbOdanEugIqO9JrnmulZkGsfG12cfbogcGXuewWgHsUg7l5cAJbNrQzYIBVYv7a9klRjiS54r3BlZywJxUulPLP8g61Sm84vp0iyRffRXgzEbEOfJsGNgb9uns4j/aoP3Pb1Ofr0bd5noE4m+xf9p0hG7ZHP+gMKG83FSXCBrOCszy4Up2sPr9cy8dnIxVKsm/V/+Hn8Ba0+eXXzDflT+NvMu0/m/Ruo+jfdC6i9Hb8+zCgfge7acnYpeLoVU68f/bjkpEaSz7wbVVy9TssLVnap5l4IMt77hE7/rOJ629zwtvn/lonivRE/BuTv07QYbFEZKV4J7bQ1bT5gaGtj2Za2rVnsXfSIc6mjvcrqEjr/qItXHoi/jmohWJ89ZeKrIjFng39iSZ/EL8hReXByc4a5BasYdIT8c8hSaZeMjIjFms29Hc4pZ8HJ0dxsqE//jkk+YTLRnbEIrNh/zKgbe/vcOKRByfEyIbfTcK7JJ9w6ciQWFQ2DGrb+zuckuRBf1b17uDFnA3NFvGp+XZITtMY3D7sq0i+TuaG21TIklhUNiR7uokOpyRFsT+r/s2DE+hs+D5wTNP4RhRYYpUUS+/O3HX61e1G6+OIBMvgaUwyJRa19y7R0x1caMfCn1Wn8+AEMhuyD+8QtC3CQQJjjsdZJFtiUUnHlw3nFdox8GdVSlMyGwYN71jmV/doClF85R55IKsxEgxCJ4FIOjM93fMLbWbC8+AEMhuyTHYwjO/ukYdXQvzaMDZv+E9MzZpYZNKZbtuHFdqMRMmDExiyYU6IPl5ZyfkjYVJCB6H5ze97IHNikUnnb9s+aoCJSLQ8OIEpGxIYLfI7JWXmrjuvLV+tuWxkTywy6fxp20cPMFEghvPmaRo9G4qviTCkf4uq4CqQQbGCs6E1eB89wIRDDecZvd2Zdv7Ua5earUBNdhCq1Id6hEZ+dsiiWHQ2HA7q/nESuRh/tho9nBcDYniHGEVIqXtiWcikWGTSMXqHvoCR7jBObIjhnZxIFElG7wMR8laTbIpFN8F8pDudIQH+4R2y0h/H3ScStDIqVtCN8ZDudIZE+LOhcJQnsiH7w23LSlbFoptgHtLOg/nrmTZ/wKtZID4YkQ2l4jn1t9EY3O4/AbcyK1ZoNkw7D0aOf/QHIyY7CEebdHeU41Z/UF/p3ofsihWSDZPkQeoZV4ZnYOgPRg0S5wo3JSoh2m5pvcP71n63e6mb7SnD2pZ22e/Efmp+Qui0mfGrEzTXLRUyLFZQmeIgnW/Ez4PUU6lM/WF0mqZ7EySFTJ0TGsbwrHe7e//3fu/e351pelrN1bmwDHSyk2Wx7Lvin/o3JuVhHOYT0tkwYHinsl6ePBiYEDxXmCLE1D+blKczxDghnQ0DY4DzYODWdi2RGAExlewwywApiZWTZ9YacNbHCrgQ3u+UVJmeqDRhb8N3P8T5z7rYLnqfsp/5JL47oYol9odnhLd5fxCS5k1HyckXSrXp6MXW6LCv5Hlppxn0RHyucCqznfAPiWaFhIIV/RZDW9e+/NY+OXP3dO96cZKzWIMgvhPkqiQ++RX9APCS8RoLLCsQC3ABYgEuQCzABYgFuACxABcgFuACxAJcgFiACxALcAFiAS5ALMAFiAW4ALEAFyAW4ALEAlyAWIALEAtwAWIBLkAswAWIBbgAsQAXIBbgAsQCHFhb+z9FDDmDWJC9LAAAAABJRU5ErkJggg=="}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary.tsx index 8d6ef5c8..af235346 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary.tsx @@ -21,5 +21,6 @@ const svg = AbstractImage.createReactSvg(abstractImage); export const test: ExportTestDef = { name: "react svg binary", abstractImage: svg, - expectedSerializedJsx: `{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"image","key":"0","ref":null,"props":{"x":0,"y":0,"width":400,"height":400,"href":"data:image/svg+xml;base64,${svgEncoded}"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}`, + expectedSerializedJsx: + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"binaryimage","topLeft":{"x":0,"y":0},"bottomRight":{"x":400,"y":400},"format":"svg","data":{"type":"bytes","bytes":{"type":"Buffer","data":[60,115,118,103,32,105,100,61,34,115,118,103,34,32,118,101,114,115,105,111,110,61,34,49,46,49,34,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,115,118,103,34,32,120,109,108,110,115,58,120,108,105,110,107,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,108,105,110,107,34,32,119,105,100,116,104,61,34,52,48,48,34,32,104,101,105,103,104,116,61,34,52,48,48,34,32,118,105,101,119,66,111,120,61,34,48,44,32,48,44,32,52,48,48,44,52,48,48,34,62,60,103,32,105,100,61,34,115,118,103,103,34,62,60,112,97,116,104,32,105,100,61,34,112,97,116,104,48,34,32,100,61,34,77,52,56,46,52,48,48,32,53,54,46,54,56,55,32,67,32,51,56,46,55,56,56,32,53,57,46,56,49,56,44,51,52,46,51,49,53,32,54,55,46,49,56,52,44,51,54,46,54,50,50,32,55,54,46,48,56,53,32,67,32,51,56,46,50,54,55,32,56,50,46,52,51,53,44,52,50,46,53,50,48,32,56,54,46,48,53,51,44,53,52,46,56,48,48,32,57,49,46,53,53,52,32,67,32,54,51,46,56,57,51,32,57,53,46,54,50,54,44,54,54,46,51,49,49,32,49,48,51,46,52,55,56,44,54,48,46,50,53,56,32,49,48,57,46,50,55,55,32,67,32,53,57,46,52,49,48,32,49,49,48,46,48,57,48,44,53,56,46,49,57,55,32,49,49,48,46,56,54,57,44,53,55,46,53,54,50,32,49,49,49,46,48,48,56,32,67,32,53,54,46,57,50,56,32,49,49,49,46,49,52,56,44,53,54,46,51,48,54,32,49,49,49,46,52,50,56,44,53,54,46,49,56,49,32,49,49,49,46,54,51,49,32,67,32,53,53,46,55,57,56,32,49,49,50,46,50,53,48,44,52,55,46,54,48,56,32,49,49,50,46,48,53,56,44,52,53,46,54,48,48,32,49,49,49,46,51,56,51,32,67,32,52,51,46,54,48,49,32,49,49,48,46,55,49,49,44,52,50,46,49,48,54,32,49,49,48,46,48,56,57,44,52,49,46,50,48,48,32,49,48,57,46,53,53,49,32,67,32,52,48,46,56,55,48,32,49,48,57,46,51,53,53,44,52,48,46,51,51,48,32,49,48,57,46,48,55,55,44,52,48,46,48,48,48,32,49,48,56,46,57,51,50,32,67,32,51,57,46,54,55,48,32,49,48,56,46,55,56,56,44,51,56,46,57,50,50,32,49,48,56,46,51,51,57,44,51,56,46,51,51,56,32,49,48,55,46,57,51,53,32,67,32,51,53,46,56,52,55,32,49,48,54,46,50,49,48,44,51,52,46,56,48,48,32,49,48,55,46,48,53,49,44,51,52,46,56,48,48,32,49,49,48,46,55,55,57,32,67,32,51,52,46,56,48,48,32,49,49,52,46,49,52,50,44,51,53,46,54,57,50,32,49,49,53,46,48,49,50,44,52,49,46,56,48,48,32,49,49,55,46,54,48,54,32,67,32,52,52,46,49,57,51,32,49,49,56,46,54,50,50,44,53,53,46,50,49,52,32,49,49,57,46,49,53,56,44,53,55,46,55,57,53,32,49,49,56,46,51,56,52,32,67,32,55,51,46,50,54,54,32,49,49,51,46,55,52,51,44,55,55,46,49,56,56,32,57,55,46,52,57,50,44,54,53,46,49,55,52,32,56,55,46,56,49,54,32,67,32,54,52,46,48,56,51,32,56,54,46,57,51,55,44,53,52,46,53,54,57,32,56,50,46,48,48,48,44,53,51,46,57,54,55,32,56,50,46,48,48,48,32,67,32,53,51,46,51,52,53,32,56,50,46,48,48,48,44,52,56,46,50,57,50,32,55,56,46,55,50,48,44,52,55,46,50,48,48,32,55,55,46,54,48,55,32,67,32,52,51,46,48,51,53,32,55,51,46,51,54,50,44,52,51,46,55,56,57,32,54,54,46,57,55,49,44,52,56,46,56,48,48,32,54,52,46,48,53,51,32,67,32,53,48,46,56,54,49,32,54,50,46,56,53,51,44,53,56,46,50,50,52,32,54,50,46,52,54,52,44,53,57,46,50,54,48,32,54,51,46,53,48,48,32,67,32,53,57,46,53,51,53,32,54,51,46,55,55,53,44,54,48,46,48,52,56,32,54,52,46,48,48,48,44,54,48,46,51,57,57,32,54,52,46,48,48,48,32,67,32,54,48,46,55,53,49,32,54,52,46,48,48,48,44,54,50,46,50,54,56,32,54,52,46,54,51,48,44,54,51,46,55,55,50,32,54,53,46,52,48,48,32,67,32,54,55,46,56,52,49,32,54,55,46,52,56,52,44,54,56,46,56,48,48,32,54,55,46,49,52,48,44,54,56,46,56,48,48,32,54,51,46,54,48,48,32,67,32,54,56,46,56,48,48,32,54,48,46,54,52,53,44,54,55,46,55,56,48,32,53,57,46,52,56,49,44,54,51,46,54,48,48,32,53,55,46,54,54,50,32,67,32,53,57,46,56,48,51,32,53,54,46,48,49,49,44,53,50,46,48,49,49,32,53,53,46,53,49,49,44,52,56,46,52,48,48,32,53,54,46,54,56,55,32,77,49,53,54,46,51,51,48,32,53,54,46,55,52,57,32,67,32,49,53,52,46,56,54,49,32,53,55,46,49,49,49,44,49,53,51,46,53,50,54,32,53,55,46,53,52,48,44,49,53,51,46,51,54,51,32,53,55,46,55,48,51,32,67,32,49,53,51,46,50,48,48,32,53,55,46,56,54,55,44,49,53,50,46,55,54,51,32,53,56,46,48,48,48,44,49,53,50,46,51,57,51,32,53,56,46,48,48,48,32,67,32,49,52,56,46,50,53,49,32,53,56,46,48,48,48,44,49,52,48,46,51,50,54,32,54,53,46,51,53,51,44,49,51,54,46,56,55,50,32,55,50,46,52,48,48,32,67,32,49,51,50,46,52,54,51,32,56,49,46,51,57,56,44,49,51,50,46,55,50,52,32,57,56,46,52,55,48,44,49,51,55,46,51,54,57,32,49,48,52,46,56,48,48,32,67,32,49,51,55,46,54,49,49,32,49,48,53,46,49,51,48,44,49,51,56,46,49,53,49,32,49,48,54,46,48,51,48,44,49,51,56,46,53,54,57,32,49,48,54,46,56,48,48,32,67,32,49,52,48,46,52,57,53,32,49,49,48,46,51,52,54,44,49,52,56,46,52,50,51,32,49,49,54,46,56,48,48,44,49,53,48,46,56,53,52,32,49,49,54,46,56,48,48,32,67,32,49,53,49,46,48,56,56,32,49,49,54,46,56,48,48,44,49,53,49,46,56,52,54,32,49,49,55,46,48,53,53,44,49,53,50,46,53,52,48,32,49,49,55,46,51,54,54,32,67,32,49,53,53,46,51,51,54,32,49,49,56,46,54,50,51,44,49,54,54,46,51,49,55,32,49,49,57,46,50,53,55,44,49,55,48,46,52,48,48,32,49,49,56,46,51,57,56,32,67,32,49,55,51,46,55,52,52,32,49,49,55,46,54,57,53,44,49,55,57,46,51,50,49,32,49,49,53,46,57,49,53,44,49,56,48,46,48,51,49,32,49,49,53,46,51,50,53,32,67,32,49,56,48,46,51,55,57,32,49,49,53,46,48,51,54,44,49,56,48,46,56,53,51,32,49,49,52,46,56,48,48,44,49,56,49,46,48,56,53,32,49,49,52,46,56,48,48,32,67,32,49,56,50,46,57,55,52,32,49,49,52,46,56,48,48,44,49,56,51,46,57,48,48,32,56,55,46,53,50,48,44,49,56,50,46,48,54,57,32,56,53,46,56,54,50,32,67,32,49,56,49,46,49,51,49,32,56,53,46,48,49,51,44,49,54,48,46,53,49,52,32,56,52,46,56,52,54,44,49,53,57,46,54,56,48,32,56,53,46,54,56,48,32,67,32,49,53,56,46,57,51,49,32,56,54,46,52,50,57,44,49,53,57,46,48,55,54,32,57,48,46,50,52,54,44,49,53,57,46,56,56,57,32,57,49,46,49,57,53,32,67,32,49,54,48,46,53,51,49,32,57,49,46,57,52,54,44,49,54,49,46,48,53,57,32,57,50,46,48,48,48,44,49,54,55,46,54,57,55,32,57,50,46,48,48,48,32,76,32,49,55,52,46,56,49,54,32,57,50,46,48,48,48,32,49,55,52,46,55,48,56,32,49,48,48,46,54,53,55,32,67,32,49,55,52,46,54,49,56,32,49,48,55,46,56,56,55,44,49,55,52,46,53,48,49,32,49,48,57,46,51,54,48,44,49,55,52,46,48,48,48,32,49,48,57,46,53,57,53,32,67,32,49,55,51,46,54,55,48,32,49,48,57,46,55,52,57,44,49,55,51,46,48,48,51,32,49,49,48,46,48,56,48,44,49,55,50,46,53,49,55,32,49,49,48,46,51,51,48,32,67,32,49,55,50,46,48,51,50,32,49,49,48,46,53,56,48,44,49,55,48,46,57,48,51,32,49,49,48,46,57,48,50,44,49,55,48,46,48,48,57,32,49,49,49,46,48,52,53,32,67,32,49,54,57,46,49,49,52,32,49,49,49,46,49,56,56,44,49,54,56,46,50,56,54,32,49,49,49,46,52,54,49,44,49,54,56,46,49,54,56,32,49,49,49,46,54,53,51,32,67,32,49,54,55,46,56,50,54,32,49,49,50,46,50,48,53,44,49,54,48,46,56,51,53,32,49,49,50,46,48,50,56,44,49,53,56,46,50,48,48,32,49,49,49,46,51,57,57,32,67,32,49,52,51,46,55,51,48,32,49,48,55,46,57,52,57,44,49,51,55,46,52,52,55,32,56,56,46,54,48,52,44,49,52,53,46,55,51,49,32,55,51,46,48,49,50,32,67,32,49,52,57,46,55,49,48,32,54,53,46,53,50,51,44,49,54,48,46,50,51,50,32,54,49,46,48,50,56,44,49,54,56,46,54,48,48,32,54,51,46,50,52,50,32,67,32,49,54,57,46,52,56,48,32,54,51,46,52,55,53,44,49,55,48,46,55,50,54,32,54,51,46,55,54,54,44,49,55,49,46,51,54,57,32,54,51,46,56,56,56,32,67,32,49,55,50,46,52,51,50,32,54,52,46,48,57,49,44,49,55,53,46,52,51,50,32,54,53,46,53,52,48,44,49,55,57,46,56,56,49,32,54,55,46,57,57,57,32,67,32,49,56,50,46,50,52,50,32,54,57,46,51,48,52,44,49,56,50,46,56,48,48,32,54,56,46,55,54,57,44,49,56,50,46,56,48,48,32,54,53,46,50,48,54,32,67,32,49,56,50,46,56,48,48,32,54,50,46,56,57,51,44,49,56,50,46,54,54,52,32,54,50,46,51,55,51,44,49,56,49,46,56,52,50,32,54,49,46,53,53,53,32,67,32,49,56,48,46,55,54,48,32,54,48,46,52,55,54,44,49,55,54,46,50,52,57,32,53,56,46,48,48,48,44,49,55,53,46,51,54,55,32,53,56,46,48,48,48,32,67,32,49,55,53,46,48,52,57,32,53,56,46,48,48,48,44,49,55,52,46,52,55,55,32,53,55,46,56,51,56,44,49,55,52,46,48,57,53,32,53,55,46,54,52,48,32,67,32,49,55,48,46,57,57,55,32,53,54,46,48,51,55,44,49,54,49,46,50,49,54,32,53,53,46,53,52,54,44,49,53,54,46,51,51,48,32,53,54,46,55,52,57,32,77,55,55,46,50,48,51,32,53,56,46,53,48,48,32,67,32,55,55,46,50,48,52,32,53,57,46,50,49,53,44,55,55,46,55,52,57,32,54,49,46,51,51,48,44,55,56,46,52,49,51,32,54,51,46,50,48,48,32,67,32,55,57,46,48,55,55,32,54,53,46,48,55,48,44,56,48,46,48,53,56,32,54,55,46,56,54,48,44,56,48,46,53,57,52,32,54,57,46,52,48,48,32,67,32,56,50,46,54,54,53,32,55,53,46,51,53,57,44,56,51,46,53,49,56,32,55,55,46,54,53,50,44,56,51,46,55,53,53,32,55,55,46,56,56,56,32,67,32,56,51,46,56,57,48,32,55,56,46,48,50,51,44,56,52,46,48,48,48,32,55,56,46,52,52,56,44,56,52,46,48,48,48,32,55,56,46,56,51,52,32,67,32,56,52,46,48,48,48,32,55,57,46,50,49,57,44,56,52,46,51,56,49,32,56,48,46,52,48,52,44,56,52,46,56,52,56,32,56,49,46,52,54,55,32,67,32,56,53,46,51,49,52,32,56,50,46,53,51,48,44,56,53,46,56,51,53,32,56,51,46,57,52,48,44,56,54,46,48,48,54,32,56,52,46,54,48,48,32,67,32,56,54,46,49,55,55,32,56,53,46,50,54,48,44,56,55,46,48,55,48,32,56,55,46,56,55,48,44,56,55,46,57,57,50,32,57,48,46,52,48,48,32,67,32,56,56,46,57,49,51,32,57,50,46,57,51,48,44,56,57,46,57,48,55,32,57,53,46,55,50,48,44,57,48,46,50,48,48,32,57,54,46,54,48,48,32,67,32,57,48,46,52,57,51,32,57,55,46,52,56,48,44,57,49,46,53,52,48,32,49,48,48,46,52,53,48,44,57,50,46,53,50,55,32,49,48,51,46,50,48,48,32,67,32,57,51,46,53,49,52,32,49,48,53,46,57,53,48,44,57,52,46,53,51,52,32,49,48,56,46,56,51,48,44,57,52,46,55,57,52,32,49,48,57,46,54,48,48,32,67,32,57,53,46,48,53,51,32,49,49,48,46,51,55,48,44,57,53,46,52,49,49,32,49,49,49,46,51,54,48,44,57,53,46,53,56,55,32,49,49,49,46,56,48,48,32,67,32,57,53,46,55,54,52,32,49,49,50,46,50,52,48,44,57,54,46,49,52,49,32,49,49,51,46,51,55,52,44,57,54,46,52,50,53,32,49,49,52,46,51,50,48,32,67,32,57,55,46,52,49,55,32,49,49,55,46,54,50,52,44,57,56,46,48,53,51,32,49,49,56,46,48,48,48,44,49,48,50,46,54,53,49,32,49,49,56,46,48,48,48,32,67,32,49,48,54,46,56,51,54,32,49,49,56,46,48,48,48,44,49,48,56,46,48,48,48,32,49,49,55,46,53,53,49,44,49,48,56,46,48,48,48,32,49,49,53,46,57,51,53,32,67,32,49,48,56,46,48,48,48,32,49,49,53,46,54,48,52,44,49,48,56,46,49,50,51,32,49,49,53,46,50,49,48,44,49,48,56,46,50,55,52,32,49,49,53,46,48,53,57,32,67,32,49,48,56,46,53,56,54,32,49,49,52,46,55,52,55,44,49,48,57,46,49,49,55,32,49,49,51,46,51,49,56,44,49,49,48,46,56,50,50,32,49,48,56,46,50,48,48,32,67,32,49,49,49,46,52,56,49,32,49,48,54,46,50,50,48,44,49,49,50,46,49,56,53,32,49,48,52,46,50,52,48,44,49,49,50,46,51,56,54,32,49,48,51,46,56,48,48,32,67,32,49,49,50,46,53,56,55,32,49,48,51,46,51,54,48,44,49,49,51,46,51,48,54,32,49,48,49,46,51,50,54,44,49,49,51,46,57,56,53,32,57,57,46,50,56,48,32,67,32,49,49,52,46,54,54,51,32,57,55,46,50,51,52,44,49,49,53,46,51,55,56,32,57,53,46,50,53,52,44,49,49,53,46,53,55,50,32,57,52,46,56,56,48,32,67,32,49,49,53,46,55,54,55,32,57,52,46,53,48,54,44,49,49,54,46,50,48,49,32,57,51,46,51,48,48,44,49,49,54,46,53,51,56,32,57,50,46,50,48,48,32,67,32,49,49,55,46,50,54,52,32,56,57,46,56,50,51,44,49,49,55,46,57,53,50,32,56,55,46,56,52,50,44,49,49,56,46,54,50,48,32,56,54,46,50,48,48,32,67,32,49,49,56,46,56,56,56,32,56,53,46,53,52,48,44,49,49,57,46,51,51,49,32,56,52,46,50,56,48,44,49,49,57,46,54,48,51,32,56,51,46,52,48,48,32,67,32,49,49,57,46,56,55,53,32,56,50,46,53,50,48,44,49,50,48,46,50,53,54,32,56,49,46,52,56,55,44,49,50,48,46,52,52,57,32,56,49,46,49,48,53,32,67,32,49,50,48,46,54,52,50,32,56,48,46,55,50,51,44,49,50,48,46,56,48,48,32,56,48,46,50,49,49,44,49,50,48,46,56,48,48,32,55,57,46,57,54,54,32,67,32,49,50,48,46,56,48,48,32,55,57,46,55,50,49,44,49,50,49,46,48,53,56,32,55,56,46,57,53,52,44,49,50,49,46,51,55,52,32,55,56,46,50,54,48,32,67,32,49,50,49,46,54,57,48,32,55,55,46,53,54,55,44,49,50,50,46,52,57,49,32,55,53,46,51,56,48,44,49,50,51,46,49,53,51,32,55,51,46,52,48,48,32,67,32,49,50,53,46,55,48,54,32,54,53,46,55,54,55,44,49,50,55,46,50,52,54,32,54,49,46,51,54,56,44,49,50,55,46,54,52,56,32,54,48,46,53,54,53,32,67,32,49,50,55,46,56,55,56,32,54,48,46,49,48,54,44,49,50,56,46,48,48,54,32,53,57,46,50,48,54,44,49,50,55,46,57,51,51,32,53,56,46,53,54,53,32,76,32,49,50,55,46,56,48,48,32,53,55,46,52,48,48,32,49,50,52,46,51,54,49,32,53,55,46,50,56,53,32,67,32,49,50,49,46,57,50,53,32,53,55,46,50,48,52,44,49,50,48,46,55,57,57,32,53,55,46,51,50,49,44,49,50,48,46,52,57,57,32,53,55,46,54,56,53,32,67,32,49,50,48,46,50,54,54,32,53,55,46,57,54,56,44,49,49,54,46,51,52,50,32,54,57,46,52,48,53,44,49,49,49,46,55,55,57,32,56,51,46,49,48,48,32,67,32,49,48,54,46,55,55,53,32,57,56,46,49,49,56,44,49,48,51,46,50,56,55,32,49,48,56,46,48,48,48,44,49,48,50,46,57,56,57,32,49,48,56,46,48,48,48,32,67,32,49,48,50,46,55,49,55,32,49,48,56,46,48,48,48,44,49,48,50,46,50,51,48,32,49,48,55,46,50,51,53,44,49,48,49,46,57,48,53,32,49,48,54,46,51,48,48,32,67,32,49,48,49,46,53,56,49,32,49,48,53,46,51,54,53,44,57,57,46,57,50,52,32,49,48,48,46,52,54,48,44,57,56,46,50,50,51,32,57,53,46,52,48,48,32,67,32,57,54,46,53,50,49,32,57,48,46,51,52,48,44,57,52,46,57,48,51,32,56,53,46,54,54,48,44,57,52,46,54,50,53,32,56,53,46,48,48,48,32,67,32,57,52,46,51,52,56,32,56,52,46,51,52,48,44,57,51,46,56,48,57,32,56,50,46,56,49,48,44,57,51,46,52,50,55,32,56,49,46,54,48,48,32,67,32,57,51,46,48,52,53,32,56,48,46,51,57,48,44,57,50,46,53,57,50,32,55,57,46,48,52,48,44,57,50,46,52,50,49,32,55,56,46,54,48,48,32,67,32,57,50,46,50,52,57,32,55,56,46,49,54,48,44,57,49,46,55,57,57,32,55,54,46,56,49,48,44,57,49,46,52,50,49,32,55,53,46,54,48,48,32,67,32,57,49,46,48,52,50,32,55,52,46,51,57,48,44,57,48,46,53,57,50,32,55,51,46,48,52,48,44,57,48,46,52,50,49,32,55,50,46,54,48,48,32,67,32,57,48,46,50,52,57,32,55,50,46,49,54,48,44,56,57,46,55,57,57,32,55,48,46,56,49,48,44,56,57,46,52,50,49,32,54,57,46,54,48,48,32,67,32,56,57,46,48,52,50,32,54,56,46,51,57,48,44,56,56,46,53,56,50,32,54,55,46,48,52,48,44,56,56,46,51,57,56,32,54,54,46,54,48,48,32,67,32,56,55,46,52,53,48,32,54,52,46,51,50,56,44,56,53,46,57,57,56,32,54,48,46,49,49,48,44,56,53,46,57,56,55,32,53,57,46,53,57,50,32,67,32,56,53,46,57,52,55,32,53,55,46,56,49,54,44,56,52,46,54,50,49,32,53,55,46,50,48,48,44,56,48,46,56,51,54,32,53,55,46,50,48,48,32,76,32,55,55,46,50,48,48,32,53,55,46,50,48,48,32,55,55,46,50,48,51,32,53,56,46,53,48,48,32,77,50,50,49,46,50,48,48,32,49,55,51,46,54,48,48,32,67,32,50,50,48,46,56,55,48,32,49,55,51,46,56,49,51,44,50,50,48,46,49,48,52,32,49,55,51,46,57,57,49,44,50,49,57,46,52,57,56,32,49,55,51,46,57,57,52,32,67,32,50,49,56,46,56,57,50,32,49,55,51,46,57,57,55,44,50,49,55,46,52,54,51,32,49,55,52,46,52,53,48,44,50,49,54,46,51,50,51,32,49,55,53,46,48,48,48,32,67,32,50,49,53,46,49,56,51,32,49,55,53,46,53,53,48,44,50,49,52,46,48,57,48,32,49,55,54,46,48,48,48,44,50,49,51,46,56,57,53,32,49,55,54,46,48,48,48,32,67,32,50,49,48,46,51,57,51,32,49,55,54,46,48,48,48,44,50,48,49,46,57,55,57,32,49,56,53,46,53,49,52,44,49,57,57,46,53,55,48,32,49,57,50,46,50,48,48,32,67,32,49,57,55,46,49,51,57,32,49,57,56,46,57,52,54,44,49,57,55,46,49,50,55,32,50,49,49,46,53,56,53,44,49,57,57,46,53,52,55,32,50,49,55,46,56,48,48,32,67,32,50,48,49,46,52,53,56,32,50,50,50,46,55,49,48,44,50,48,54,46,53,55,48,32,50,51,48,46,48,48,48,44,50,48,56,46,49,48,50,32,50,51,48,46,48,48,48,32,67,32,50,48,56,46,50,56,52,32,50,51,48,46,48,48,48,44,50,48,56,46,56,50,55,32,50,51,48,46,51,54,54,44,50,48,57,46,51,48,55,32,50,51,48,46,56,49,52,32,67,32,50,49,48,46,51,56,49,32,50,51,49,46,56,49,52,44,50,49,52,46,54,56,55,32,50,51,52,46,48,48,48,44,50,49,53,46,53,56,52,32,50,51,52,46,48,48,48,32,67,32,50,49,53,46,57,52,53,32,50,51,52,46,48,48,48,44,50,49,54,46,52,49,49,32,50,51,52,46,49,54,54,44,50,49,54,46,54,50,48,32,50,51,52,46,51,54,57,32,67,32,50,49,56,46,55,50,51,32,50,51,54,46,52,49,51,44,50,51,51,46,48,48,49,32,50,51,54,46,52,48,51,44,50,51,56,46,51,49,57,32,50,51,52,46,51,53,52,32,67,32,50,51,56,46,56,50,52,32,50,51,52,46,49,53,57,44,50,51,57,46,52,56,55,32,50,51,52,46,48,48,48,44,50,51,57,46,55,57,49,32,50,51,52,46,48,48,48,32,67,32,50,52,48,46,56,54,54,32,50,51,52,46,48,48,48,44,50,52,53,46,53,55,53,32,50,51,49,46,53,55,49,44,50,52,54,46,49,56,51,32,50,51,48,46,55,48,50,32,67,32,50,52,55,46,49,50,57,32,50,50,57,46,51,53,50,44,50,52,55,46,49,48,51,32,50,48,52,46,52,51,52,44,50,52,54,46,49,53,52,32,50,48,50,46,57,56,54,32,76,32,50,52,53,46,53,48,56,32,50,48,50,46,48,48,48,32,50,51,52,46,56,51,52,32,50,48,50,46,48,48,48,32,67,32,50,50,50,46,55,50,56,32,50,48,50,46,48,48,48,44,50,50,51,46,50,48,48,32,50,48,49,46,56,55,48,44,50,50,51,46,50,48,48,32,50,48,53,46,50,49,56,32,67,32,50,50,51,46,50,48,48,32,50,48,56,46,55,53,50,44,50,50,51,46,51,49,53,32,50,48,56,46,56,48,48,44,50,51,49,46,55,51,49,32,50,48,56,46,56,48,48,32,76,32,50,51,56,46,56,48,48,32,50,48,56,46,56,48,48,32,50,51,56,46,56,48,48,32,50,49,55,46,51,51,56,32,67,32,50,51,56,46,56,48,48,32,50,50,55,46,54,49,50,44,50,51,57,46,51,54,49,32,50,50,54,46,53,54,52,44,50,51,50,46,56,52,54,32,50,50,56,46,52,53,53,32,67,32,50,50,51,46,54,52,53,32,50,51,49,46,49,50,53,44,50,49,50,46,54,49,57,32,50,50,53,46,57,56,53,44,50,48,56,46,55,48,51,32,50,49,55,46,50,48,48,32,67,32,50,48,50,46,48,52,54,32,50,48,50,46,50,54,54,44,50,48,56,46,48,55,54,32,49,56,53,46,49,54,49,44,50,50,49,46,54,48,48,32,49,56,48,46,54,49,54,32,67,32,50,50,54,46,57,52,54,32,49,55,56,46,56,50,48,44,50,51,57,46,53,48,57,32,49,56,49,46,48,54,49,44,50,52,50,46,56,48,48,32,49,56,52,46,51,57,55,32,67,32,50,52,53,46,49,53,54,32,49,56,54,46,55,56,53,44,50,52,54,46,55,54,56,32,49,56,53,46,56,54,57,44,50,52,54,46,55,56,55,32,49,56,50,46,49,51,49,32,67,32,50,52,54,46,56,48,52,32,49,55,56,46,57,48,52,44,50,52,50,46,50,53,56,32,49,55,52,46,56,48,48,44,50,51,56,46,54,54,54,32,49,55,52,46,56,48,48,32,67,32,50,51,56,46,51,50,54,32,49,55,52,46,56,48,48,44,50,51,55,46,57,51,54,32,49,55,52,46,54,50,48,44,50,51,55,46,56,48,48,32,49,55,52,46,52,48,48,32,67,32,50,51,55,46,54,54,52,32,49,55,52,46,49,56,48,44,50,51,54,46,55,54,52,32,49,55,52,46,48,48,48,44,50,51,53,46,56,48,48,32,49,55,52,46,48,48,48,32,67,32,50,51,52,46,56,51,54,32,49,55,52,46,48,48,48,44,50,51,51,46,57,51,54,32,49,55,51,46,56,50,48,44,50,51,51,46,56,48,48,32,49,55,51,46,54,48,48,32,67,32,50,51,51,46,52,55,57,32,49,55,51,46,48,56,48,44,50,50,50,46,48,48,53,32,49,55,51,46,48,56,48,44,50,50,49,46,50,48,48,32,49,55,51,46,54,48,48,32,77,51,57,46,56,54,50,32,49,55,52,46,55,51,49,32,67,32,51,57,46,48,48,52,32,49,55,53,46,54,55,57,44,51,56,46,56,50,56,32,50,51,51,46,52,54,56,44,51,57,46,54,56,48,32,50,51,52,46,51,50,48,32,67,32,52,48,46,52,56,57,32,50,51,53,46,49,50,57,44,52,54,46,51,57,54,32,50,51,52,46,57,53,51,44,52,55,46,48,52,51,32,50,51,52,46,49,48,48,32,67,32,52,56,46,48,48,49,32,50,51,50,46,56,51,56,44,52,55,46,56,51,51,32,49,55,53,46,53,51,53,44,52,54,46,56,54,57,32,49,55,52,46,54,54,50,32,67,32,52,53,46,55,56,48,32,49,55,51,46,54,55,55,44,52,48,46,55,55,49,32,49,55,51,46,55,50,55,44,51,57,46,56,54,50,32,49,55,52,46,55,51,49,32,77,54,52,46,55,49,51,32,49,55,52,46,55,48,48,32,67,32,54,51,46,50,48,55,32,49,55,54,46,52,50,55,44,54,51,46,50,48,48,32,49,55,54,46,53,54,54,44,54,51,46,50,48,48,32,50,48,53,46,52,57,52,32,67,32,54,51,46,50,48,48,32,50,51,55,46,55,50,54,44,54,50,46,56,48,49,32,50,51,52,46,56,48,48,44,54,55,46,50,48,48,32,50,51,52,46,56,48,48,32,67,32,55,49,46,53,57,48,32,50,51,52,46,56,48,48,44,55,49,46,50,48,48,32,50,51,55,46,52,50,52,44,55,49,46,50,48,48,32,50,48,55,46,57,50,48,32,67,32,55,49,46,50,48,48,32,49,57,48,46,57,48,55,44,55,49,46,51,51,55,32,49,56,50,46,48,48,48,44,55,49,46,54,48,48,32,49,56,50,46,48,48,48,32,67,32,55,49,46,56,50,48,32,49,56,50,46,48,48,48,44,55,50,46,48,48,48,32,49,56,50,46,50,55,50,44,55,50,46,48,48,48,32,49,56,50,46,54,48,53,32,67,32,55,50,46,48,48,48,32,49,56,50,46,57,51,56,44,55,50,46,49,55,49,32,49,56,51,46,53,50,51,44,55,50,46,51,56,49,32,49,56,51,46,57,48,53,32,67,32,55,50,46,56,50,49,32,49,56,52,46,55,49,48,44,55,51,46,54,56,54,32,49,56,54,46,55,57,50,44,55,52,46,52,49,51,32,49,56,56,46,56,48,48,32,67,32,55,52,46,54,57,50,32,49,56,57,46,53,55,48,44,55,53,46,49,51,57,32,49,57,48,46,55,52,48,44,55,53,46,52,48,55,32,49,57,49,46,52,48,48,32,67,32,55,53,46,54,55,53,32,49,57,50,46,48,54,48,44,55,54,46,51,56,56,32,49,57,51,46,56,54,48,44,55,54,46,57,57,50,32,49,57,53,46,52,48,48,32,67,32,55,55,46,53,57,55,32,49,57,54,46,57,52,48,44,55,56,46,51,52,49,32,49,57,56,46,55,54,55,44,55,56,46,54,52,53,32,49,57,57,46,52,54,48,32,67,32,55,56,46,57,53,48,32,50,48,48,46,49,53,52,44,55,57,46,50,48,48,32,50,48,48,46,57,50,49,44,55,57,46,50,48,48,32,50,48,49,46,49,54,54,32,67,32,55,57,46,50,48,48,32,50,48,49,46,52,49,49,44,55,57,46,51,55,52,32,50,48,49,46,57,50,51,44,55,57,46,53,56,54,32,50,48,50,46,51,48,53,32,67,32,55,57,46,55,57,57,32,50,48,50,46,54,56,55,44,56,49,46,49,53,49,32,50,48,54,46,48,54,48,44,56,50,46,53,57,48,32,50,48,57,46,56,48,48,32,67,32,56,52,46,48,51,48,32,50,49,51,46,53,52,48,44,56,53,46,51,56,54,32,50,49,54,46,57,49,51,44,56,53,46,54,48,52,32,50,49,55,46,50,57,53,32,67,32,56,53,46,56,50,50,32,50,49,55,46,54,55,55,44,56,54,46,48,48,48,32,50,49,56,46,50,54,52,44,56,54,46,48,48,48,32,50,49,56,46,54,48,48,32,67,32,56,54,46,48,48,48,32,50,49,56,46,57,51,54,44,56,54,46,49,55,49,32,50,49,57,46,53,50,51,44,56,54,46,51,56,49,32,50,49,57,46,57,48,53,32,67,32,56,54,46,56,50,49,32,50,50,48,46,55,49,48,44,56,55,46,54,56,54,32,50,50,50,46,55,57,50,44,56,56,46,52,49,51,32,50,50,52,46,56,48,48,32,67,32,56,56,46,54,57,50,32,50,50,53,46,53,55,48,44,56,57,46,49,52,51,32,50,50,54,46,55,52,48,44,56,57,46,52,49,52,32,50,50,55,46,52,48,48,32,67,32,56,57,46,54,56,54,32,50,50,56,46,48,54,48,44,57,48,46,51,48,48,32,50,50,57,46,54,49,49,44,57,48,46,55,55,57,32,50,51,48,46,56,52,54,32,67,32,57,50,46,50,54,55,32,50,51,52,46,54,56,56,44,57,50,46,52,49,49,32,50,51,52,46,56,48,48,44,57,53,46,56,53,49,32,50,51,52,46,56,48,48,32,67,32,57,57,46,52,57,57,32,50,51,52,46,56,48,48,44,57,57,46,51,56,52,32,50,51,52,46,57,48,53,44,49,48,49,46,53,51,55,32,50,50,57,46,54,48,48,32,67,32,49,48,50,46,52,55,52,32,50,50,55,46,50,57,48,44,49,48,51,46,51,57,51,32,50,50,53,46,48,52,48,44,49,48,51,46,53,56,48,32,50,50,52,46,54,48,48,32,67,32,49,48,52,46,50,52,55,32,50,50,51,46,48,50,51,44,49,48,53,46,50,54,48,32,50,50,48,46,53,56,54,44,49,48,53,46,53,55,52,32,50,49,57,46,56,48,48,32,67,32,49,48,54,46,52,54,56,32,50,49,55,46,53,53,57,44,49,48,54,46,57,50,53,32,50,49,54,46,52,57,56,44,49,48,55,46,52,51,55,32,50,49,53,46,52,54,56,32,67,32,49,48,55,46,55,52,55,32,50,49,52,46,56,52,53,44,49,48,56,46,48,48,48,32,50,49,52,46,49,49,51,44,49,48,56,46,48,48,48,32,50,49,51,46,56,52,50,32,67,32,49,48,56,46,48,48,48,32,50,49,51,46,53,55,49,44,49,48,56,46,52,53,48,32,50,49,50,46,52,49,55,44,49,48,57,46,48,48,48,32,50,49,49,46,50,55,55,32,67,32,49,48,57,46,53,53,48,32,50,49,48,46,49,51,55,44,49,49,48,46,48,48,48,32,50,48,57,46,48,53,55,44,49,49,48,46,48,48,48,32,50,48,56,46,56,55,55,32,67,32,49,49,48,46,48,48,48,32,50,48,56,46,54,57,55,44,49,49,48,46,52,53,48,32,50,48,55,46,54,49,55,44,49,49,49,46,48,48,48,32,50,48,54,46,52,55,55,32,67,32,49,49,49,46,53,53,48,32,50,48,53,46,51,51,55,44,49,49,50,46,48,48,48,32,50,48,52,46,50,50,49,44,49,49,50,46,48,48,48,32,50,48,51,46,57,57,55,32,67,32,49,49,50,46,48,48,48,32,50,48,51,46,55,55,50,44,49,49,50,46,49,55,53,32,50,48,51,46,50,55,55,44,49,49,50,46,51,56,56,32,50,48,50,46,56,57,53,32,67,32,49,49,50,46,54,48,49,32,50,48,50,46,53,49,51,44,49,49,51,46,55,55,56,32,49,57,57,46,54,56,48,44,49,49,53,46,48,48,52,32,49,57,54,46,54,48,48,32,67,32,49,49,54,46,50,51,48,32,49,57,51,46,53,50,48,44,49,49,55,46,52,48,53,32,49,57,48,46,53,57,53,44,49,49,55,46,54,49,54,32,49,57,48,46,49,48,48,32,67,32,49,49,55,46,56,50,55,32,49,56,57,46,54,48,53,44,49,49,56,46,49,53,57,32,49,56,56,46,55,57,53,44,49,49,56,46,51,53,52,32,49,56,56,46,51,48,48,32,67,32,49,50,49,46,54,52,50,32,49,55,57,46,57,53,48,44,49,50,49,46,53,56,56,32,49,55,57,46,53,57,57,44,49,50,49,46,53,57,53,32,50,48,57,46,52,50,48,32,67,32,49,50,49,46,53,57,57,32,50,50,55,46,56,55,52,44,49,50,49,46,55,49,55,32,50,51,51,46,57,53,55,44,49,50,50,46,48,56,48,32,50,51,52,46,51,50,48,32,67,32,49,50,50,46,56,52,57,32,50,51,53,46,48,56,57,44,49,50,56,46,54,53,51,32,50,51,52,46,57,54,49,44,49,50,56,46,57,53,55,32,50,51,52,46,49,54,55,32,67,32,49,50,57,46,48,57,49,32,50,51,51,46,56,49,57,44,49,50,57,46,50,48,48,32,50,50,48,46,54,49,52,44,49,50,57,46,50,48,48,32,50,48,52,46,56,50,49,32,67,32,49,50,57,46,50,48,48,32,49,55,48,46,52,49,48,44,49,50,57,46,57,50,54,32,49,55,52,46,48,48,48,44,49,50,50,46,57,55,49,32,49,55,52,46,48,48,48,32,76,32,49,49,56,46,52,48,48,32,49,55,52,46,48,48,48,32,49,49,54,46,56,56,56,32,49,55,53,46,53,49,50,32,67,32,49,49,54,46,48,53,54,32,49,55,54,46,51,52,52,44,49,49,53,46,48,51,56,32,49,55,55,46,57,49,57,44,49,49,52,46,54,50,54,32,49,55,57,46,48,49,50,32,67,32,49,49,52,46,50,49,51,32,49,56,48,46,49,48,53,44,49,49,51,46,52,51,53,32,49,56,49,46,57,57,48,44,49,49,50,46,56,57,54,32,49,56,51,46,50,48,48,32,67,32,49,49,50,46,51,53,56,32,49,56,52,46,52,49,48,44,49,49,49,46,55,55,48,32,49,56,53,46,55,54,48,44,49,49,49,46,53,57,48,32,49,56,54,46,50,48,48,32,67,32,49,48,57,46,51,49,49,32,49,57,49,46,55,55,48,44,49,48,51,46,51,49,52,32,50,48,54,46,50,50,50,44,49,48,50,46,55,49,48,32,50,48,55,46,54,48,48,32,67,32,49,48,49,46,55,49,57,32,50,48,57,46,56,53,57,44,49,48,49,46,55,50,54,32,50,48,57,46,56,52,51,44,57,56,46,57,52,52,32,50,49,54,46,54,55,50,32,67,32,57,55,46,54,55,52,32,50,49,57,46,55,57,50,44,57,54,46,52,56,53,32,50,50,50,46,50,53,51,44,57,54,46,51,48,50,32,50,50,50,46,49,52,48,32,67,32,57,53,46,56,56,51,32,50,50,49,46,56,56,49,44,57,52,46,48,48,48,32,50,49,56,46,48,48,52,44,57,52,46,48,48,48,32,50,49,55,46,52,48,48,32,67,32,57,52,46,48,48,48,32,50,49,55,46,49,53,50,44,57,51,46,53,53,48,32,50,49,54,46,48,49,55,44,57,51,46,48,48,48,32,50,49,52,46,56,55,55,32,67,32,57,50,46,52,53,48,32,50,49,51,46,55,51,55,44,57,50,46,48,48,48,32,50,49,50,46,54,50,50,44,57,50,46,48,48,48,32,50,49,50,46,52,48,48,32,67,32,57,50,46,48,48,48,32,50,49,50,46,49,55,56,44,57,49,46,53,53,48,32,50,49,49,46,48,54,51,44,57,49,46,48,48,48,32,50,48,57,46,57,50,51,32,67,32,57,48,46,52,53,48,32,50,48,56,46,55,56,51,44,57,48,46,48,48,48,32,50,48,55,46,54,52,56,44,57,48,46,48,48,48,32,50,48,55,46,52,48,48,32,67,32,57,48,46,48,48,48,32,50,48,55,46,49,53,50,44,56,57,46,53,53,48,32,50,48,54,46,48,49,55,44,56,57,46,48,48,48,32,50,48,52,46,56,55,55,32,67,32,56,56,46,52,53,48,32,50,48,51,46,55,51,55,44,56,56,46,48,48,48,32,50,48,50,46,54,50,50,44,56,56,46,48,48,48,32,50,48,50,46,52,48,48,32,67,32,56,56,46,48,48,48,32,50,48,50,46,49,55,56,44,56,55,46,53,53,48,32,50,48,49,46,48,54,51,44,56,55,46,48,48,48,32,49,57,57,46,57,50,51,32,67,32,56,54,46,52,53,48,32,49,57,56,46,55,56,51,44,56,54,46,48,48,48,32,49,57,55,46,54,52,56,44,56,54,46,48,48,48,32,49,57,55,46,52,48,48,32,67,32,56,54,46,48,48,48,32,49,57,55,46,49,53,50,44,56,53,46,53,53,48,32,49,57,54,46,48,49,55,44,56,53,46,48,48,48,32,49,57,52,46,56,55,55,32,67,32,56,52,46,52,53,48,32,49,57,51,46,55,51,55,44,56,52,46,48,48,48,32,49,57,50,46,54,50,50,44,56,52,46,48,48,48,32,49,57,50,46,52,48,48,32,67,32,56,52,46,48,48,48,32,49,57,50,46,49,55,56,44,56,51,46,53,53,48,32,49,57,49,46,48,54,51,44,56,51,46,48,48,48,32,49,56,57,46,57,50,51,32,67,32,56,50,46,52,53,48,32,49,56,56,46,55,56,51,44,56,50,46,48,48,48,32,49,56,55,46,54,52,56,44,56,50,46,48,48,48,32,49,56,55,46,52,48,48,32,67,32,56,50,46,48,48,48,32,49,56,55,46,49,53,50,44,56,49,46,53,53,48,32,49,56,54,46,48,49,55,44,56,49,46,48,48,48,32,49,56,52,46,56,55,55,32,67,32,56,48,46,52,53,48,32,49,56,51,46,55,51,55,44,56,48,46,48,48,48,32,49,56,50,46,54,50,57,44,56,48,46,48,48,48,32,49,56,50,46,52,49,54,32,67,32,56,48,46,48,48,48,32,49,56,49,46,55,50,55,44,55,55,46,56,48,57,32,49,55,54,46,56,53,55,44,55,55,46,49,48,50,32,49,55,53,46,57,55,51,32,67,32,55,53,46,52,57,48,32,49,55,51,46,57,54,49,44,54,54,46,49,57,50,32,49,55,51,46,48,48,53,44,54,52,46,55,49,51,32,49,55,52,46,55,48,48,32,77,49,54,48,46,55,56,51,32,49,55,52,46,53,49,51,32,67,32,49,54,48,46,48,57,53,32,49,55,53,46,48,53,54,44,49,53,57,46,49,56,55,32,49,55,54,46,56,57,52,44,49,53,56,46,50,54,57,32,49,55,57,46,54,48,48,32,67,32,49,53,55,46,57,51,51,32,49,56,48,46,53,57,48,44,49,53,55,46,49,50,54,32,49,56,50,46,56,52,48,44,49,53,54,46,52,55,54,32,49,56,52,46,54,48,48,32,67,32,49,53,53,46,56,50,54,32,49,56,54,46,51,54,48,44,49,53,52,46,57,55,54,32,49,56,56,46,55,48,48,44,49,53,52,46,53,56,56,32,49,56,57,46,56,48,48,32,67,32,49,53,52,46,50,48,48,32,49,57,48,46,57,48,48,44,49,53,51,46,52,53,57,32,49,57,50,46,56,52,55,44,49,53,50,46,57,52,49,32,49,57,52,46,49,50,54,32,67,32,49,53,50,46,52,50,52,32,49,57,53,46,52,48,54,44,49,53,50,46,48,48,48,32,49,57,54,46,55,57,48,44,49,53,50,46,48,48,48,32,49,57,55,46,50,48,51,32,67,32,49,53,50,46,48,48,48,32,49,57,55,46,54,49,53,44,49,53,49,46,56,52,49,32,49,57,56,46,48,53,49,44,49,53,49,46,54,52,56,32,49,57,56,46,49,55,48,32,67,32,49,53,49,46,52,53,52,32,49,57,56,46,50,57,48,44,49,53,49,46,49,57,57,32,49,57,56,46,55,57,54,44,49,53,49,46,48,56,49,32,49,57,57,46,50,57,52,32,67,32,49,53,48,46,57,54,51,32,49,57,57,46,55,57,50,44,49,53,48,46,51,48,54,32,50,48,49,46,55,51,48,44,49,52,57,46,54,50,49,32,50,48,51,46,54,48,48,32,67,32,49,52,56,46,57,51,55,32,50,48,53,46,52,55,48,44,49,52,55,46,57,57,57,32,50,48,56,46,48,56,48,44,49,52,55,46,53,51,57,32,50,48,57,46,52,48,48,32,67,32,49,52,55,46,48,55,56,32,50,49,48,46,55,50,48,44,49,52,54,46,53,52,52,32,50,49,49,46,57,55,49,44,49,52,54,46,51,53,49,32,50,49,50,46,49,56,48,32,67,32,49,52,54,46,49,53,56,32,50,49,50,46,51,56,57,44,49,52,54,46,48,48,48,32,50,49,50,46,56,51,53,44,49,52,54,46,48,48,48,32,50,49,51,46,49,55,50,32,67,32,49,52,54,46,48,48,48,32,50,49,51,46,56,49,53,44,49,52,52,46,50,49,55,32,50,49,56,46,57,48,55,44,49,52,51,46,53,55,53,32,50,50,48,46,48,57,53,32,67,32,49,52,51,46,51,54,57,32,50,50,48,46,52,55,55,44,49,52,51,46,49,57,57,32,50,50,49,46,48,49,55,44,49,52,51,46,49,57,56,32,50,50,49,46,50,57,53,32,67,32,49,52,51,46,49,57,54,32,50,50,49,46,53,55,51,44,49,52,50,46,57,54,51,32,50,50,50,46,50,53,48,44,49,52,50,46,54,55,57,32,50,50,50,46,56,48,48,32,67,32,49,52,50,46,51,57,53,32,50,50,51,46,51,53,48,44,49,52,49,46,56,51,49,32,50,50,52,46,56,56,48,44,49,52,49,46,52,50,54,32,50,50,54,46,50,48,48,32,67,32,49,52,49,46,48,50,49,32,50,50,55,46,53,50,48,44,49,52,48,46,53,54,55,32,50,50,56,46,55,56,48,44,49,52,48,46,52,49,55,32,50,50,57,46,48,48,48,32,67,32,49,51,57,46,56,52,48,32,50,50,57,46,56,52,53,44,49,51,57,46,49,51,48,32,50,51,50,46,54,56,55,44,49,51,57,46,50,54,50,32,50,51,51,46,54,50,49,32,67,32,49,51,57,46,51,57,53,32,50,51,52,46,53,54,50,44,49,51,57,46,53,51,50,32,50,51,52,46,54,48,52,44,49,52,50,46,56,51,57,32,50,51,52,46,55,49,53,32,67,32,49,52,54,46,55,50,52,32,50,51,52,46,56,52,52,44,49,52,54,46,55,55,49,32,50,51,52,46,56,49,55,44,49,52,55,46,55,55,54,32,50,51,49,46,56,51,48,32,67,32,49,52,56,46,49,52,48,32,50,51,48,46,55,52,54,44,49,52,56,46,55,54,57,32,50,50,57,46,48,51,54,44,49,52,57,46,49,55,52,32,50,50,56,46,48,51,48,32,67,32,49,52,57,46,53,55,57,32,50,50,55,46,48,50,51,44,49,53,48,46,49,57,50,32,50,50,53,46,51,48,48,44,49,53,48,46,53,51,55,32,50,50,52,46,50,48,48,32,67,32,49,53,48,46,56,56,51,32,50,50,51,46,49,48,48,44,49,53,49,46,52,50,54,32,50,50,49,46,52,56,48,44,49,53,49,46,55,52,53,32,50,50,48,46,54,48,48,32,76,32,49,53,50,46,51,50,53,32,50,49,57,46,48,48,48,32,49,54,52,46,49,50,49,32,50,49,56,46,56,57,52,32,67,32,49,55,54,46,48,54,57,32,50,49,56,46,55,56,55,44,49,55,56,46,48,48,48,32,50,49,56,46,57,55,50,44,49,55,56,46,48,48,48,32,50,50,48,46,50,50,55,32,67,32,49,55,56,46,48,48,48,32,50,50,49,46,48,49,49,44,49,56,49,46,55,57,51,32,50,51,49,46,54,55,54,44,49,56,50,46,55,50,49,32,50,51,51,46,53,48,48,32,76,32,49,56,51,46,51,56,50,32,50,51,52,46,56,48,48,32,49,56,55,46,48,52,56,32,50,51,52,46,56,48,48,32,67,32,49,57,48,46,48,55,50,32,50,51,52,46,56,48,48,44,49,57,48,46,55,53,56,32,50,51,52,46,54,56,53,44,49,57,48,46,57,54,53,32,50,51,52,46,49,52,54,32,67,32,49,57,49,46,50,55,48,32,50,51,51,46,51,53,51,44,49,57,48,46,56,52,55,32,50,51,48,46,56,55,54,44,49,57,48,46,51,53,53,32,50,51,48,46,53,55,50,32,67,32,49,57,48,46,49,54,48,32,50,51,48,46,52,53,49,44,49,57,48,46,48,48,48,32,50,50,57,46,57,52,57,44,49,57,48,46,48,48,48,32,50,50,57,46,52,53,54,32,67,32,49,57,48,46,48,48,48,32,50,50,56,46,57,54,51,44,49,56,57,46,56,52,53,32,50,50,56,46,51,56,57,44,49,56,57,46,54,53,54,32,50,50,56,46,49,56,48,32,67,32,49,56,57,46,52,54,55,32,50,50,55,46,57,55,49,44,49,56,56,46,57,57,53,32,50,50,54,46,56,49,48,44,49,56,56,46,54,48,56,32,50,50,53,46,54,48,48,32,67,32,49,56,56,46,50,50,48,32,50,50,52,46,51,57,48,44,49,56,55,46,55,51,49,32,50,50,51,46,48,54,53,44,49,56,55,46,53,50,49,32,50,50,50,46,54,53,55,32,67,32,49,56,55,46,51,49,49,32,50,50,50,46,50,52,56,44,49,56,54,46,56,48,49,32,50,50,48,46,56,57,56,44,49,56,54,46,51,56,56,32,50,49,57,46,54,53,55,32,67,32,49,56,53,46,57,55,54,32,50,49,56,46,52,49,53,44,49,56,53,46,48,55,52,32,50,49,53,46,56,55,48,44,49,56,52,46,51,56,54,32,50,49,52,46,48,48,48,32,67,32,49,56,51,46,54,57,55,32,50,49,50,46,49,51,48,44,49,56,51,46,48,51,55,32,50,49,48,46,49,57,50,44,49,56,50,46,57,49,57,32,50,48,57,46,54,57,52,32,67,32,49,56,50,46,56,48,49,32,50,48,57,46,49,57,54,44,49,56,50,46,53,52,54,32,50,48,56,46,54,57,48,44,49,56,50,46,51,53,50,32,50,48,56,46,53,55,48,32,67,32,49,56,50,46,49,53,57,32,50,48,56,46,52,53,49,44,49,56,50,46,48,48,49,32,50,48,56,46,48,52,56,44,49,56,50,46,48,48,49,32,50,48,55,46,54,55,54,32,67,32,49,56,50,46,48,48,50,32,50,48,55,46,51,48,52,44,49,56,49,46,53,55,55,32,50,48,53,46,57,50,48,44,49,56,49,46,48,53,54,32,50,48,52,46,54,48,48,32,67,32,49,56,48,46,53,51,54,32,50,48,51,46,50,56,48,44,49,55,57,46,56,57,49,32,50,48,49,46,53,55,48,44,49,55,57,46,54,50,51,32,50,48,48,46,56,48,48,32,67,32,49,55,57,46,51,53,52,32,50,48,48,46,48,51,48,44,49,55,56,46,53,48,54,32,49,57,55,46,54,57,48,44,49,55,55,46,55,51,56,32,49,57,53,46,54,48,48,32,67,32,49,55,54,46,57,55,48,32,49,57,51,46,53,49,48,44,49,55,54,46,48,54,55,32,49,57,48,46,57,57,48,44,49,55,53,46,55,51,49,32,49,57,48,46,48,48,48,32,67,32,49,55,53,46,51,57,53,32,49,56,57,46,48,49,48,44,49,55,52,46,56,57,54,32,49,56,55,46,54,54,48,44,49,55,52,46,54,50,49,32,49,56,55,46,48,48,48,32,67,32,49,55,52,46,51,52,54,32,49,56,54,46,51,52,48,44,49,55,51,46,55,57,57,32,49,56,52,46,56,49,48,44,49,55,51,46,52,48,53,32,49,56,51,46,54,48,48,32,67,32,49,55,51,46,48,49,49,32,49,56,50,46,51,57,48,44,49,55,50,46,53,51,51,32,49,56,49,46,50,50,57,44,49,55,50,46,51,52,52,32,49,56,49,46,48,50,48,32,67,32,49,55,50,46,49,53,53,32,49,56,48,46,56,49,49,44,49,55,50,46,48,48,48,32,49,56,48,46,51,50,49,44,49,55,50,46,48,48,48,32,49,55,57,46,57,51,49,32,67,32,49,55,50,46,48,48,48,32,49,55,56,46,54,57,49,44,49,55,48,46,49,48,53,32,49,55,52,46,56,56,52,44,49,54,57,46,50,54,51,32,49,55,52,46,52,51,52,32,67,32,49,54,56,46,49,52,53,32,49,55,51,46,56,51,53,44,49,54,49,46,53,54,51,32,49,55,51,46,56,57,54,44,49,54,48,46,55,56,51,32,49,55,52,46,53,49,51,32,77,50,54,51,46,50,50,57,32,49,55,53,46,48,53,52,32,67,32,50,54,50,46,48,51,51,32,49,55,54,46,53,55,53,44,50,54,49,46,57,49,48,32,50,51,50,46,53,49,52,44,50,54,51,46,49,48,48,32,50,51,51,46,57,54,53,32,67,32,50,54,51,46,55,57,54,32,50,51,52,46,56,49,51,44,50,54,51,46,56,56,55,32,50,51,52,46,56,49,56,44,50,55,57,46,56,48,48,32,50,51,52,46,55,48,57,32,76,32,50,57,53,46,56,48,48,32,50,51,52,46,54,48,48,32,50,57,53,46,57,49,57,32,50,51,49,46,56,53,56,32,67,32,50,57,54,46,48,57,52,32,50,50,55,46,56,51,50,44,50,57,54,46,55,54,57,32,50,50,56,46,48,50,56,44,50,56,50,46,54,57,52,32,50,50,56,46,48,49,51,32,76,32,50,55,48,46,55,56,55,32,50,50,56,46,48,48,48,32,50,55,48,46,56,57,52,32,50,49,55,46,49,48,48,32,76,32,50,55,49,46,48,48,48,32,50,48,54,46,50,48,48,32,50,56,49,46,50,48,48,32,50,48,54,46,48,57,55,32,67,32,50,57,50,46,55,52,53,32,50,48,53,46,57,56,48,44,50,57,50,46,52,48,48,32,50,48,54,46,48,56,49,44,50,57,50,46,52,48,48,32,50,48,50,46,56,48,48,32,67,32,50,57,50,46,52,48,48,32,49,57,57,46,51,52,53,44,50,57,50,46,54,53,55,32,49,57,57,46,52,50,55,44,50,56,49,46,49,51,51,32,49,57,57,46,50,48,48,32,76,32,50,55,49,46,48,48,48,32,49,57,57,46,48,48,48,32,50,55,49,46,48,48,48,32,49,57,48,46,48,48,48,32,76,32,50,55,49,46,48,48,48,32,49,56,49,46,48,48,48,32,50,56,50,46,56,57,51,32,49,56,48,46,56,57,52,32,76,32,50,57,52,46,55,56,54,32,49,56,48,46,55,56,56,32,50,57,53,46,51,57,51,32,49,55,57,46,54,49,52,32,67,32,50,57,54,46,49,53,50,32,49,55,56,46,49,52,54,44,50,57,54,46,49,53,56,32,49,55,55,46,49,53,51,44,50,57,53,46,52,50,48,32,49,55,53,46,51,56,55,32,76,32,50,57,52,46,56,52,49,32,49,55,52,46,48,48,48,32,50,55,57,46,52,52,57,32,49,55,52,46,48,48,48,32,76,32,50,54,52,46,48,53,56,32,49,55,52,46,48,48,48,32,50,54,51,46,50,50,57,32,49,55,53,46,48,53,52,32,77,49,54,56,46,53,57,53,32,49,57,51,46,52,51,48,32,67,32,49,55,48,46,48,53,49,32,49,57,55,46,56,49,51,44,49,55,49,46,51,57,57,32,50,48,49,46,55,54,48,44,49,55,49,46,53,57,48,32,50,48,50,46,50,48,48,32,67,32,49,55,49,46,55,56,49,32,50,48,50,46,54,52,48,44,49,55,50,46,50,52,49,32,50,48,51,46,57,48,48,44,49,55,50,46,54,49,49,32,50,48,53,46,48,48,48,32,67,32,49,55,50,46,57,56,50,32,50,48,54,46,49,48,48,44,49,55,51,46,52,50,49,32,50,48,55,46,51,54,48,44,49,55,51,46,53,56,55,32,50,48,55,46,56,48,48,32,67,32,49,55,52,46,50,55,50,32,50,48,57,46,54,49,50,44,49,55,52,46,56,48,48,32,50,49,49,46,52,57,56,44,49,55,52,46,56,48,48,32,50,49,50,46,49,50,56,32,67,32,49,55,52,46,56,48,48,32,50,49,50,46,55,52,48,44,49,55,51,46,56,56,50,32,50,49,50,46,56,48,48,44,49,54,52,46,53,55,51,32,50,49,50,46,56,48,48,32,76,32,49,53,52,46,51,52,54,32,50,49,50,46,56,48,48,32,49,53,52,46,53,57,54,32,50,49,49,46,57,48,48,32,67,32,49,53,52,46,55,51,52,32,50,49,49,46,52,48,53,44,49,53,53,46,48,56,50,32,50,49,48,46,51,55,48,44,49,53,53,46,51,55,49,32,50,48,57,46,54,48,48,32,67,32,49,53,53,46,54,53,57,32,50,48,56,46,56,51,48,44,49,53,54,46,49,49,48,32,50,48,55,46,52,56,48,44,49,53,54,46,51,55,50,32,50,48,54,46,54,48,48,32,67,32,49,53,54,46,54,51,52,32,50,48,53,46,55,50,48,44,49,53,55,46,48,56,57,32,50,48,52,46,51,55,48,44,49,53,55,46,51,56,51,32,50,48,51,46,54,48,48,32,67,32,49,53,55,46,54,55,55,32,50,48,50,46,56,51,48,44,49,53,56,46,49,57,53,32,50,48,49,46,51,48,48,44,49,53,56,46,53,51,52,32,50,48,48,46,50,48,48,32,67,32,49,53,57,46,50,55,51,32,49,57,55,46,55,57,57,44,49,53,57,46,57,54,48,32,49,57,53,46,56,50,50,44,49,54,48,46,54,50,48,32,49,57,52,46,50,48,48,32,67,32,49,54,48,46,56,56,56,32,49,57,51,46,53,52,48,44,49,54,49,46,51,51,52,32,49,57,50,46,50,56,48,44,49,54,49,46,54,48,57,32,49,57,49,46,52,48,48,32,67,32,49,54,49,46,56,56,53,32,49,57,48,46,53,50,48,44,49,54,50,46,50,53,53,32,49,56,57,46,52,52,48,44,49,54,50,46,52,51,49,32,49,56,57,46,48,48,48,32,67,32,49,54,50,46,54,48,55,32,49,56,56,46,53,54,48,44,49,54,51,46,49,53,51,32,49,56,54,46,57,54,53,44,49,54,51,46,54,52,52,32,49,56,53,46,52,53,54,32,76,32,49,54,52,46,53,51,56,32,49,56,50,46,55,49,50,32,49,54,53,46,50,52,50,32,49,56,52,46,48,56,54,32,67,32,49,54,53,46,54,51,48,32,49,56,52,46,56,52,49,44,49,54,55,46,49,51,56,32,49,56,57,46,48,52,54,44,49,54,56,46,53,57,53,32,49,57,51,46,52,51,48,32,34,32,115,116,114,111,107,101,61,34,110,111,110,101,34,32,102,105,108,108,61,34,35,101,97,49,98,50,49,34,32,102,105,108,108,45,114,117,108,101,61,34,101,118,101,110,111,100,100,34,62,60,47,112,97,116,104,62,60,112,97,116,104,32,105,100,61,34,112,97,116,104,49,34,32,100,61,34,77,48,46,48,48,48,32,50,48,48,46,48,48,48,32,76,32,48,46,48,48,48,32,52,48,48,46,48,48,48,32,50,48,48,46,48,48,48,32,52,48,48,46,48,48,48,32,76,32,52,48,48,46,48,48,48,32,52,48,48,46,48,48,48,32,52,48,48,46,48,48,48,32,50,48,48,46,48,48,48,32,76,32,52,48,48,46,48,48,48,32,48,46,48,48,48,32,50,48,48,46,48,48,48,32,48,46,48,48,48,32,76,32,48,46,48,48,48,32,48,46,48,48,48,32,48,46,48,48,48,32,50,48,48,46,48,48,48,32,77,54,48,46,49,52,50,32,53,54,46,54,49,52,32,67,32,54,54,46,53,48,53,32,53,56,46,50,48,51,44,54,56,46,56,48,48,32,54,48,46,48,53,52,44,54,56,46,56,48,48,32,54,51,46,54,48,48,32,67,32,54,56,46,56,48,48,32,54,55,46,49,52,48,44,54,55,46,56,52,49,32,54,55,46,52,56,52,44,54,51,46,55,55,50,32,54,53,46,52,48,48,32,67,32,54,50,46,50,54,56,32,54,52,46,54,51,48,44,54,48,46,55,53,49,32,54,52,46,48,48,48,44,54,48,46,51,57,57,32,54,52,46,48,48,48,32,67,32,54,48,46,48,52,56,32,54,52,46,48,48,48,44,53,57,46,53,51,53,32,54,51,46,55,55,53,44,53,57,46,50,54,48,32,54,51,46,53,48,48,32,67,32,53,56,46,50,50,52,32,54,50,46,52,54,52,44,53,48,46,56,54,49,32,54,50,46,56,53,51,44,52,56,46,56,48,48,32,54,52,46,48,53,51,32,67,32,52,51,46,55,56,57,32,54,54,46,57,55,49,44,52,51,46,48,51,53,32,55,51,46,51,54,50,44,52,55,46,50,48,48,32,55,55,46,54,48,55,32,67,32,52,56,46,50,57,50,32,55,56,46,55,50,48,44,53,51,46,51,52,53,32,56,50,46,48,48,48,44,53,51,46,57,54,55,32,56,50,46,48,48,48,32,67,32,53,52,46,53,54,57,32,56,50,46,48,48,48,44,54,52,46,48,56,51,32,56,54,46,57,51,55,44,54,53,46,49,55,52,32,56,55,46,56,49,54,32,67,32,55,55,46,49,56,56,32,57,55,46,52,57,50,44,55,51,46,50,54,54,32,49,49,51,46,55,52,51,44,53,55,46,55,57,53,32,49,49,56,46,51,56,52,32,67,32,53,53,46,50,49,52,32,49,49,57,46,49,53,56,44,52,52,46,49,57,51,32,49,49,56,46,54,50,50,44,52,49,46,56,48,48,32,49,49,55,46,54,48,54,32,67,32,51,53,46,54,57,50,32,49,49,53,46,48,49,50,44,51,52,46,56,48,48,32,49,49,52,46,49,52,50,44,51,52,46,56,48,48,32,49,49,48,46,55,55,57,32,67,32,51,52,46,56,48,48,32,49,48,55,46,48,53,49,44,51,53,46,56,52,55,32,49,48,54,46,50,49,48,44,51,56,46,51,51,56,32,49,48,55,46,57,51,53,32,67,32,51,56,46,57,50,50,32,49,48,56,46,51,51,57,44,51,57,46,54,55,48,32,49,48,56,46,55,56,56,44,52,48,46,48,48,48,32,49,48,56,46,57,51,50,32,67,32,52,48,46,51,51,48,32,49,48,57,46,48,55,55,44,52,48,46,56,55,48,32,49,48,57,46,51,53,53,44,52,49,46,50,48,48,32,49,48,57,46,53,53,49,32,67,32,52,50,46,49,48,54,32,49,49,48,46,48,56,57,44,52,51,46,54,48,49,32,49,49,48,46,55,49,49,44,52,53,46,54,48,48,32,49,49,49,46,51,56,51,32,67,32,52,55,46,54,48,56,32,49,49,50,46,48,53,56,44,53,53,46,55,57,56,32,49,49,50,46,50,53,48,44,53,54,46,49,56,49,32,49,49,49,46,54,51,49,32,67,32,53,54,46,51,48,54,32,49,49,49,46,52,50,56,44,53,54,46,57,50,56,32,49,49,49,46,49,52,56,44,53,55,46,53,54,50,32,49,49,49,46,48,48,56,32,67,32,53,56,46,49,57,55,32,49,49,48,46,56,54,57,44,53,57,46,52,49,48,32,49,49,48,46,48,57,48,44,54,48,46,50,53,56,32,49,48,57,46,50,55,55,32,67,32,54,54,46,51,49,49,32,49,48,51,46,52,55,56,44,54,51,46,56,57,51,32,57,53,46,54,50,54,44,53,52,46,56,48,48,32,57,49,46,53,53,52,32,67,32,52,50,46,53,50,48,32,56,54,46,48,53,51,44,51,56,46,50,54,55,32,56,50,46,52,51,53,44,51,54,46,54,50,50,32,55,54,46,48,56,53,32,67,32,51,51,46,50,57,50,32,54,51,46,50,51,52,44,52,53,46,54,53,56,32,53,50,46,57,57,55,44,54,48,46,49,52,50,32,53,54,46,54,49,52,32,77,49,55,48,46,52,48,48,32,53,54,46,54,51,53,32,67,32,49,55,50,46,48,53,48,32,53,54,46,57,57,48,44,49,55,51,46,55,49,51,32,53,55,46,52,52,51,44,49,55,52,46,48,57,53,32,53,55,46,54,52,48,32,67,32,49,55,52,46,52,55,55,32,53,55,46,56,51,56,44,49,55,53,46,48,52,57,32,53,56,46,48,48,48,44,49,55,53,46,51,54,55,32,53,56,46,48,48,48,32,67,32,49,55,54,46,50,52,57,32,53,56,46,48,48,48,44,49,56,48,46,55,54,48,32,54,48,46,52,55,54,44,49,56,49,46,56,52,50,32,54,49,46,53,53,53,32,67,32,49,56,50,46,54,54,52,32,54,50,46,51,55,51,44,49,56,50,46,56,48,48,32,54,50,46,56,57,51,44,49,56,50,46,56,48,48,32,54,53,46,50,48,54,32,67,32,49,56,50,46,56,48,48,32,54,56,46,55,54,57,44,49,56,50,46,50,52,50,32,54,57,46,51,48,52,44,49,55,57,46,56,56,49,32,54,55,46,57,57,57,32,67,32,49,55,53,46,52,51,50,32,54,53,46,53,52,48,44,49,55,50,46,52,51,50,32,54,52,46,48,57,49,44,49,55,49,46,51,54,57,32,54,51,46,56,56,56,32,67,32,49,55,48,46,55,50,54,32,54,51,46,55,54,54,44,49,54,57,46,52,56,48,32,54,51,46,52,55,53,44,49,54,56,46,54,48,48,32,54,51,46,50,52,50,32,67,32,49,54,48,46,50,51,50,32,54,49,46,48,50,56,44,49,52,57,46,55,49,48,32,54,53,46,53,50,51,44,49,52,53,46,55,51,49,32,55,51,46,48,49,50,32,67,32,49,51,55,46,52,52,55,32,56,56,46,54,48,52,44,49,52,51,46,55,51,48,32,49,48,55,46,57,52,57,44,49,53,56,46,50,48,48,32,49,49,49,46,51,57,57,32,67,32,49,54,48,46,56,51,53,32,49,49,50,46,48,50,56,44,49,54,55,46,56,50,54,32,49,49,50,46,50,48,53,44,49,54,56,46,49,54,56,32,49,49,49,46,54,53,51,32,67,32,49,54,56,46,50,56,54,32,49,49,49,46,52,54,49,44,49,54,57,46,49,49,52,32,49,49,49,46,49,56,56,44,49,55,48,46,48,48,57,32,49,49,49,46,48,52,53,32,67,32,49,55,48,46,57,48,51,32,49,49,48,46,57,48,50,44,49,55,50,46,48,51,50,32,49,49,48,46,53,56,48,44,49,55,50,46,53,49,55,32,49,49,48,46,51,51,48,32,67,32,49,55,51,46,48,48,51,32,49,49,48,46,48,56,48,44,49,55,51,46,54,55,48,32,49,48,57,46,55,52,57,44,49,55,52,46,48,48,48,32,49,48,57,46,53,57,53,32,67,32,49,55,52,46,53,48,49,32,49,48,57,46,51,54,48,44,49,55,52,46,54,49,56,32,49,48,55,46,56,56,55,44,49,55,52,46,55,48,56,32,49,48,48,46,54,53,55,32,76,32,49,55,52,46,56,49,54,32,57,50,46,48,48,48,32,49,54,55,46,54,57,55,32,57,50,46,48,48,48,32,67,32,49,54,49,46,48,53,57,32,57,50,46,48,48,48,44,49,54,48,46,53,51,49,32,57,49,46,57,52,54,44,49,53,57,46,56,56,57,32,57,49,46,49,57,53,32,67,32,49,53,57,46,48,55,54,32,57,48,46,50,52,54,44,49,53,56,46,57,51,49,32,56,54,46,52,50,57,44,49,53,57,46,54,56,48,32,56,53,46,54,56,48,32,67,32,49,54,48,46,53,49,52,32,56,52,46,56,52,54,44,49,56,49,46,49,51,49,32,56,53,46,48,49,51,44,49,56,50,46,48,54,57,32,56,53,46,56,54,50,32,67,32,49,56,51,46,57,48,48,32,56,55,46,53,50,48,44,49,56,50,46,57,55,52,32,49,49,52,46,56,48,48,44,49,56,49,46,48,56,53,32,49,49,52,46,56,48,48,32,67,32,49,56,48,46,56,53,51,32,49,49,52,46,56,48,48,44,49,56,48,46,51,55,57,32,49,49,53,46,48,51,54,44,49,56,48,46,48,51,49,32,49,49,53,46,51,50,53,32,67,32,49,55,57,46,51,50,49,32,49,49,53,46,57,49,53,44,49,55,51,46,55,52,52,32,49,49,55,46,54,57,53,44,49,55,48,46,52,48,48,32,49,49,56,46,51,57,56,32,67,32,49,54,54,46,51,49,55,32,49,49,57,46,50,53,55,44,49,53,53,46,51,51,54,32,49,49,56,46,54,50,51,44,49,53,50,46,53,52,48,32,49,49,55,46,51,54,54,32,67,32,49,53,49,46,56,52,54,32,49,49,55,46,48,53,53,44,49,53,49,46,48,56,56,32,49,49,54,46,56,48,48,44,49,53,48,46,56,53,52,32,49,49,54,46,56,48,48,32,67,32,49,52,56,46,52,50,51,32,49,49,54,46,56,48,48,44,49,52,48,46,52,57,53,32,49,49,48,46,51,52,54,44,49,51,56,46,53,54,57,32,49,48,54,46,56,48,48,32,67,32,49,51,56,46,49,53,49,32,49,48,54,46,48,51,48,44,49,51,55,46,54,49,49,32,49,48,53,46,49,51,48,44,49,51,55,46,51,54,57,32,49,48,52,46,56,48,48,32,67,32,49,51,50,46,55,50,52,32,57,56,46,52,55,48,44,49,51,50,46,52,54,51,32,56,49,46,51,57,56,44,49,51,54,46,56,55,50,32,55,50,46,52,48,48,32,67,32,49,52,48,46,51,50,54,32,54,53,46,51,53,51,44,49,52,56,46,50,53,49,32,53,56,46,48,48,48,44,49,53,50,46,51,57,51,32,53,56,46,48,48,48,32,67,32,49,53,50,46,55,54,51,32,53,56,46,48,48,48,44,49,53,51,46,50,48,48,32,53,55,46,56,54,55,44,49,53,51,46,51,54,51,32,53,55,46,55,48,51,32,67,32,49,53,52,46,56,53,57,32,53,54,46,50,48,56,44,49,54,53,46,51,53,53,32,53,53,46,53,53,48,44,49,55,48,46,52,48,48,32,53,54,46,54,51,53,32,77,56,53,46,50,50,51,32,53,56,46,49,48,48,32,67,32,56,53,46,54,51,54,32,53,56,46,53,57,53,44,56,53,46,57,55,57,32,53,57,46,50,54,54,44,56,53,46,57,56,55,32,53,57,46,53,57,50,32,67,32,56,53,46,57,57,56,32,54,48,46,49,49,48,44,56,55,46,52,53,48,32,54,52,46,51,50,56,44,56,56,46,51,57,56,32,54,54,46,54,48,48,32,67,32,56,56,46,53,56,50,32,54,55,46,48,52,48,44,56,57,46,48,52,50,32,54,56,46,51,57,48,44,56,57,46,52,50,49,32,54,57,46,54,48,48,32,67,32,56,57,46,55,57,57,32,55,48,46,56,49,48,44,57,48,46,50,52,57,32,55,50,46,49,54,48,44,57,48,46,52,50,49,32,55,50,46,54,48,48,32,67,32,57,48,46,53,57,50,32,55,51,46,48,52,48,44,57,49,46,48,52,50,32,55,52,46,51,57,48,44,57,49,46,52,50,49,32,55,53,46,54,48,48,32,67,32,57,49,46,55,57,57,32,55,54,46,56,49,48,44,57,50,46,50,52,57,32,55,56,46,49,54,48,44,57,50,46,52,50,49,32,55,56,46,54,48,48,32,67,32,57,50,46,53,57,50,32,55,57,46,48,52,48,44,57,51,46,48,52,53,32,56,48,46,51,57,48,44,57,51,46,52,50,55,32,56,49,46,54,48,48,32,67,32,57,51,46,56,48,57,32,56,50,46,56,49,48,44,57,52,46,51,52,56,32,56,52,46,51,52,48,44,57,52,46,54,50,53,32,56,53,46,48,48,48,32,67,32,57,52,46,57,48,51,32,56,53,46,54,54,48,44,57,54,46,53,50,49,32,57,48,46,51,52,48,44,57,56,46,50,50,51,32,57,53,46,52,48,48,32,67,32,57,57,46,57,50,52,32,49,48,48,46,52,54,48,44,49,48,49,46,53,56,49,32,49,48,53,46,51,54,53,44,49,48,49,46,57,48,53,32,49,48,54,46,51,48,48,32,67,32,49,48,50,46,50,51,48,32,49,48,55,46,50,51,53,44,49,48,50,46,55,49,55,32,49,48,56,46,48,48,48,44,49,48,50,46,57,56,57,32,49,48,56,46,48,48,48,32,67,32,49,48,51,46,50,56,55,32,49,48,56,46,48,48,48,44,49,48,54,46,55,55,53,32,57,56,46,49,49,56,44,49,49,49,46,55,55,57,32,56,51,46,49,48,48,32,67,32,49,49,54,46,51,52,50,32,54,57,46,52,48,53,44,49,50,48,46,50,54,54,32,53,55,46,57,54,56,44,49,50,48,46,52,57,57,32,53,55,46,54,56,53,32,67,32,49,50,48,46,55,57,57,32,53,55,46,51,50,49,44,49,50,49,46,57,50,53,32,53,55,46,50,48,52,44,49,50,52,46,51,54,49,32,53,55,46,50,56,53,32,76,32,49,50,55,46,56,48,48,32,53,55,46,52,48,48,32,49,50,55,46,57,51,51,32,53,56,46,53,54,53,32,67,32,49,50,56,46,48,48,54,32,53,57,46,50,48,54,44,49,50,55,46,56,55,56,32,54,48,46,49,48,54,44,49,50,55,46,54,52,56,32,54,48,46,53,54,53,32,67,32,49,50,55,46,50,52,54,32,54,49,46,51,54,56,44,49,50,53,46,55,48,54,32,54,53,46,55,54,55,44,49,50,51,46,49,53,51,32,55,51,46,52,48,48,32,67,32,49,50,50,46,52,57,49,32,55,53,46,51,56,48,44,49,50,49,46,54,57,48,32,55,55,46,53,54,55,44,49,50,49,46,51,55,52,32,55,56,46,50,54,48,32,67,32,49,50,49,46,48,53,56,32,55,56,46,57,53,52,44,49,50,48,46,56,48,48,32,55,57,46,55,50,49,44,49,50,48,46,56,48,48,32,55,57,46,57,54,54,32,67,32,49,50,48,46,56,48,48,32,56,48,46,50,49,49,44,49,50,48,46,54,52,50,32,56,48,46,55,50,51,44,49,50,48,46,52,52,57,32,56,49,46,49,48,53,32,67,32,49,50,48,46,50,53,54,32,56,49,46,52,56,55,44,49,49,57,46,56,55,53,32,56,50,46,53,50,48,44,49,49,57,46,54,48,51,32,56,51,46,52,48,48,32,67,32,49,49,57,46,51,51,49,32,56,52,46,50,56,48,44,49,49,56,46,56,56,56,32,56,53,46,53,52,48,44,49,49,56,46,54,50,48,32,56,54,46,50,48,48,32,67,32,49,49,55,46,57,53,50,32,56,55,46,56,52,50,44,49,49,55,46,50,54,52,32,56,57,46,56,50,51,44,49,49,54,46,53,51,56,32,57,50,46,50,48,48,32,67,32,49,49,54,46,50,48,49,32,57,51,46,51,48,48,44,49,49,53,46,55,54,55,32,57,52,46,53,48,54,44,49,49,53,46,53,55,50,32,57,52,46,56,56,48,32,67,32,49,49,53,46,51,55,56,32,57,53,46,50,53,52,44,49,49,52,46,54,54,51,32,57,55,46,50,51,52,44,49,49,51,46,57,56,53,32,57,57,46,50,56,48,32,67,32,49,49,51,46,51,48,54,32,49,48,49,46,51,50,54,44,49,49,50,46,53,56,55,32,49,48,51,46,51,54,48,44,49,49,50,46,51,56,54,32,49,48,51,46,56,48,48,32,67,32,49,49,50,46,49,56,53,32,49,48,52,46,50,52,48,44,49,49,49,46,52,56,49,32,49,48,54,46,50,50,48,44,49,49,48,46,56,50,50,32,49,48,56,46,50,48,48,32,67,32,49,48,57,46,49,49,55,32,49,49,51,46,51,49,56,44,49,48,56,46,53,56,54,32,49,49,52,46,55,52,55,44,49,48,56,46,50,55,52,32,49,49,53,46,48,53,57,32,67,32,49,48,56,46,49,50,51,32,49,49,53,46,50,49,48,44,49,48,56,46,48,48,48,32,49,49,53,46,54,48,52,44,49,48,56,46,48,48,48,32,49,49,53,46,57,51,53,32,67,32,49,48,56,46,48,48,48,32,49,49,55,46,53,53,49,44,49,48,54,46,56,51,54,32,49,49,56,46,48,48,48,44,49,48,50,46,54,53,49,32,49,49,56,46,48,48,48,32,67,32,57,56,46,48,53,51,32,49,49,56,46,48,48,48,44,57,55,46,52,49,55,32,49,49,55,46,54,50,52,44,57,54,46,52,50,53,32,49,49,52,46,51,50,48,32,67,32,57,54,46,49,52,49,32,49,49,51,46,51,55,52,44,57,53,46,55,54,52,32,49,49,50,46,50,52,48,44,57,53,46,53,56,55,32,49,49,49,46,56,48,48,32,67,32,57,53,46,52,49,49,32,49,49,49,46,51,54,48,44,57,53,46,48,53,51,32,49,49,48,46,51,55,48,44,57,52,46,55,57,52,32,49,48,57,46,54,48,48,32,67,32,57,52,46,53,51,52,32,49,48,56,46,56,51,48,44,57,51,46,53,49,52,32,49,48,53,46,57,53,48,44,57,50,46,53,50,55,32,49,48,51,46,50,48,48,32,67,32,57,49,46,53,52,48,32,49,48,48,46,52,53,48,44,57,48,46,52,57,51,32,57,55,46,52,56,48,44,57,48,46,50,48,48,32,57,54,46,54,48,48,32,67,32,56,57,46,57,48,55,32,57,53,46,55,50,48,44,56,56,46,57,49,51,32,57,50,46,57,51,48,44,56,55,46,57,57,50,32,57,48,46,52,48,48,32,67,32,56,55,46,48,55,48,32,56,55,46,56,55,48,44,56,54,46,49,55,55,32,56,53,46,50,54,48,44,56,54,46,48,48,54,32,56,52,46,54,48,48,32,67,32,56,53,46,56,51,53,32,56,51,46,57,52,48,44,56,53,46,51,49,52,32,56,50,46,53,51,48,44,56,52,46,56,52,56,32,56,49,46,52,54,55,32,67,32,56,52,46,51,56,49,32,56,48,46,52,48,52,44,56,52,46,48,48,48,32,55,57,46,50,49,57,44,56,52,46,48,48,48,32,55,56,46,56,51,52,32,67,32,56,52,46,48,48,48,32,55,56,46,52,52,56,44,56,51,46,56,57,48,32,55,56,46,48,50,51,44,56,51,46,55,53,53,32,55,55,46,56,56,56,32,67,32,56,51,46,53,49,56,32,55,55,46,54,53,50,44,56,50,46,54,54,53,32,55,53,46,51,53,57,44,56,48,46,53,57,52,32,54,57,46,52,48,48,32,67,32,56,48,46,48,53,56,32,54,55,46,56,54,48,44,55,57,46,48,55,55,32,54,53,46,48,55,48,44,55,56,46,52,49,51,32,54,51,46,50,48,48,32,67,32,55,55,46,55,52,57,32,54,49,46,51,51,48,44,55,55,46,50,48,52,32,53,57,46,50,49,53,44,55,55,46,50,48,51,32,53,56,46,53,48,48,32,76,32,55,55,46,50,48,48,32,53,55,46,50,48,48,32,56,48,46,56,51,54,32,53,55,46,50,48,48,32,67,32,56,52,46,49,49,55,32,53,55,46,50,48,48,44,56,52,46,53,52,53,32,53,55,46,50,56,56,44,56,53,46,50,50,51,32,53,56,46,49,48,48,32,77,50,51,51,46,56,48,48,32,49,55,51,46,54,48,48,32,67,32,50,51,51,46,57,51,54,32,49,55,51,46,56,50,48,44,50,51,52,46,56,51,54,32,49,55,52,46,48,48,48,44,50,51,53,46,56,48,48,32,49,55,52,46,48,48,48,32,67,32,50,51,54,46,55,54,52,32,49,55,52,46,48,48,48,44,50,51,55,46,54,54,52,32,49,55,52,46,49,56,48,44,50,51,55,46,56,48,48,32,49,55,52,46,52,48,48,32,67,32,50,51,55,46,57,51,54,32,49,55,52,46,54,50,48,44,50,51,56,46,51,50,54,32,49,55,52,46,56,48,48,44,50,51,56,46,54,54,54,32,49,55,52,46,56,48,48,32,67,32,50,52,50,46,50,53,56,32,49,55,52,46,56,48,48,44,50,52,54,46,56,48,52,32,49,55,56,46,57,48,52,44,50,52,54,46,55,56,55,32,49,56,50,46,49,51,49,32,67,32,50,52,54,46,55,54,56,32,49,56,53,46,56,54,57,44,50,52,53,46,49,53,54,32,49,56,54,46,55,56,53,44,50,52,50,46,56,48,48,32,49,56,52,46,51,57,55,32,67,32,50,51,57,46,53,48,57,32,49,56,49,46,48,54,49,44,50,50,54,46,57,52,54,32,49,55,56,46,56,50,48,44,50,50,49,46,54,48,48,32,49,56,48,46,54,49,54,32,67,32,50,48,56,46,48,55,54,32,49,56,53,46,49,54,49,44,50,48,50,46,48,52,54,32,50,48,50,46,50,54,54,44,50,48,56,46,55,48,51,32,50,49,55,46,50,48,48,32,67,32,50,49,50,46,54,49,57,32,50,50,53,46,57,56,53,44,50,50,51,46,54,52,53,32,50,51,49,46,49,50,53,44,50,51,50,46,56,52,54,32,50,50,56,46,52,53,53,32,67,32,50,51,57,46,51,54,49,32,50,50,54,46,53,54,52,44,50,51,56,46,56,48,48,32,50,50,55,46,54,49,50,44,50,51,56,46,56,48,48,32,50,49,55,46,51,51,56,32,76,32,50,51,56,46,56,48,48,32,50,48,56,46,56,48,48,32,50,51,49,46,55,51,49,32,50,48,56,46,56,48,48,32,67,32,50,50,51,46,51,49,53,32,50,48,56,46,56,48,48,44,50,50,51,46,50,48,48,32,50,48,56,46,55,53,50,44,50,50,51,46,50,48,48,32,50,48,53,46,50,49,56,32,67,32,50,50,51,46,50,48,48,32,50,48,49,46,56,55,48,44,50,50,50,46,55,50,56,32,50,48,50,46,48,48,48,44,50,51,52,46,56,51,52,32,50,48,50,46,48,48,48,32,76,32,50,52,53,46,53,48,56,32,50,48,50,46,48,48,48,32,50,52,54,46,49,53,52,32,50,48,50,46,57,56,54,32,67,32,50,52,55,46,49,48,51,32,50,48,52,46,52,51,52,44,50,52,55,46,49,50,57,32,50,50,57,46,51,53,50,44,50,52,54,46,49,56,51,32,50,51,48,46,55,48,50,32,67,32,50,52,53,46,53,55,53,32,50,51,49,46,53,55,49,44,50,52,48,46,56,54,54,32,50,51,52,46,48,48,48,44,50,51,57,46,55,57,49,32,50,51,52,46,48,48,48,32,67,32,50,51,57,46,52,56,55,32,50,51,52,46,48,48,48,44,50,51,56,46,56,50,52,32,50,51,52,46,49,53,57,44,50,51,56,46,51,49,57,32,50,51,52,46,51,53,52,32,67,32,50,51,51,46,48,48,49,32,50,51,54,46,52,48,51,44,50,49,56,46,55,50,51,32,50,51,54,46,52,49,51,44,50,49,54,46,54,50,48,32,50,51,52,46,51,54,57,32,67,32,50,49,54,46,52,49,49,32,50,51,52,46,49,54,54,44,50,49,53,46,57,52,53,32,50,51,52,46,48,48,48,44,50,49,53,46,53,56,52,32,50,51,52,46,48,48,48,32,67,32,50,49,52,46,54,56,55,32,50,51,52,46,48,48,48,44,50,49,48,46,51,56,49,32,50,51,49,46,56,49,52,44,50,48,57,46,51,48,55,32,50,51,48,46,56,49,52,32,67,32,50,48,56,46,56,50,55,32,50,51,48,46,51,54,54,44,50,48,56,46,50,56,52,32,50,51,48,46,48,48,48,44,50,48,56,46,49,48,50,32,50,51,48,46,48,48,48,32,67,32,50,48,54,46,53,55,48,32,50,51,48,46,48,48,48,44,50,48,49,46,52,53,56,32,50,50,50,46,55,49,48,44,49,57,57,46,53,52,55,32,50,49,55,46,56,48,48,32,67,32,49,57,55,46,49,50,55,32,50,49,49,46,53,56,53,44,49,57,55,46,49,51,57,32,49,57,56,46,57,52,54,44,49,57,57,46,53,55,48,32,49,57,50,46,50,48,48,32,67,32,50,48,49,46,57,55,57,32,49,56,53,46,53,49,52,44,50,49,48,46,51,57,51,32,49,55,54,46,48,48,48,44,50,49,51,46,56,57,53,32,49,55,54,46,48,48,48,32,67,32,50,49,52,46,48,57,48,32,49,55,54,46,48,48,48,44,50,49,53,46,49,56,51,32,49,55,53,46,53,53,48,44,50,49,54,46,51,50,51,32,49,55,53,46,48,48,48,32,67,32,50,49,55,46,52,54,51,32,49,55,52,46,52,53,48,44,50,49,56,46,56,57,50,32,49,55,51,46,57,57,55,44,50,49,57,46,52,57,56,32,49,55,51,46,57,57,52,32,67,32,50,50,48,46,49,48,52,32,49,55,51,46,57,57,49,44,50,50,48,46,56,55,48,32,49,55,51,46,56,49,51,44,50,50,49,46,50,48,48,32,49,55,51,46,54,48,48,32,67,32,50,50,50,46,48,48,53,32,49,55,51,46,48,56,48,44,50,51,51,46,52,55,57,32,49,55,51,46,48,56,48,44,50,51,51,46,56,48,48,32,49,55,51,46,54,48,48,32,77,52,54,46,56,54,57,32,49,55,52,46,54,54,50,32,67,32,52,55,46,56,51,51,32,49,55,53,46,53,51,53,44,52,56,46,48,48,49,32,50,51,50,46,56,51,56,44,52,55,46,48,52,51,32,50,51,52,46,49,48,48,32,67,32,52,54,46,51,57,54,32,50,51,52,46,57,53,51,44,52,48,46,52,56,57,32,50,51,53,46,49,50,57,44,51,57,46,54,56,48,32,50,51,52,46,51,50,48,32,67,32,51,56,46,56,50,56,32,50,51,51,46,52,54,56,44,51,57,46,48,48,52,32,49,55,53,46,54,55,57,44,51,57,46,56,54,50,32,49,55,52,46,55,51,49,32,67,32,52,48,46,55,55,49,32,49,55,51,46,55,50,55,44,52,53,46,55,56,48,32,49,55,51,46,54,55,55,44,52,54,46,56,54,57,32,49,55,52,46,54,54,50,32,77,55,53,46,50,51,57,32,49,55,52,46,54,55,51,32,67,32,55,53,46,57,56,55,32,49,55,53,46,48,52,52,44,55,54,46,56,50,54,32,49,55,53,46,54,50,57,44,55,55,46,49,48,50,32,49,55,53,46,57,55,51,32,67,32,55,55,46,56,48,57,32,49,55,54,46,56,53,55,44,56,48,46,48,48,48,32,49,56,49,46,55,50,55,44,56,48,46,48,48,48,32,49,56,50,46,52,49,54,32,67,32,56,48,46,48,48,48,32,49,56,50,46,54,50,57,44,56,48,46,52,53,48,32,49,56,51,46,55,51,55,44,56,49,46,48,48,48,32,49,56,52,46,56,55,55,32,67,32,56,49,46,53,53,48,32,49,56,54,46,48,49,55,44,56,50,46,48,48,48,32,49,56,55,46,49,53,50,44,56,50,46,48,48,48,32,49,56,55,46,52,48,48,32,67,32,56,50,46,48,48,48,32,49,56,55,46,54,52,56,44,56,50,46,52,53,48,32,49,56,56,46,55,56,51,44,56,51,46,48,48,48,32,49,56,57,46,57,50,51,32,67,32,56,51,46,53,53,48,32,49,57,49,46,48,54,51,44,56,52,46,48,48,48,32,49,57,50,46,49,55,56,44,56,52,46,48,48,48,32,49,57,50,46,52,48,48,32,67,32,56,52,46,48,48,48,32,49,57,50,46,54,50,50,44,56,52,46,52,53,48,32,49,57,51,46,55,51,55,44,56,53,46,48,48,48,32,49,57,52,46,56,55,55,32,67,32,56,53,46,53,53,48,32,49,57,54,46,48,49,55,44,56,54,46,48,48,48,32,49,57,55,46,49,53,50,44,56,54,46,48,48,48,32,49,57,55,46,52,48,48,32,67,32,56,54,46,48,48,48,32,49,57,55,46,54,52,56,44,56,54,46,52,53,48,32,49,57,56,46,55,56,51,44,56,55,46,48,48,48,32,49,57,57,46,57,50,51,32,67,32,56,55,46,53,53,48,32,50,48,49,46,48,54,51,44,56,56,46,48,48,48,32,50,48,50,46,49,55,56,44,56,56,46,48,48,48,32,50,48,50,46,52,48,48,32,67,32,56,56,46,48,48,48,32,50,48,50,46,54,50,50,44,56,56,46,52,53,48,32,50,48,51,46,55,51,55,44,56,57,46,48,48,48,32,50,48,52,46,56,55,55,32,67,32,56,57,46,53,53,48,32,50,48,54,46,48,49,55,44,57,48,46,48,48,48,32,50,48,55,46,49,53,50,44,57,48,46,48,48,48,32,50,48,55,46,52,48,48,32,67,32,57,48,46,48,48,48,32,50,48,55,46,54,52,56,44,57,48,46,52,53,48,32,50,48,56,46,55,56,51,44,57,49,46,48,48,48,32,50,48,57,46,57,50,51,32,67,32,57,49,46,53,53,48,32,50,49,49,46,48,54,51,44,57,50,46,48,48,48,32,50,49,50,46,49,55,56,44,57,50,46,48,48,48,32,50,49,50,46,52,48,48,32,67,32,57,50,46,48,48,48,32,50,49,50,46,54,50,50,44,57,50,46,52,53,48,32,50,49,51,46,55,51,55,44,57,51,46,48,48,48,32,50,49,52,46,56,55,55,32,67,32,57,51,46,53,53,48,32,50,49,54,46,48,49,55,44,57,52,46,48,48,48,32,50,49,55,46,49,53,50,44,57,52,46,48,48,48,32,50,49,55,46,52,48,48,32,67,32,57,52,46,48,48,48,32,50,49,56,46,48,48,52,44,57,53,46,56,56,51,32,50,50,49,46,56,56,49,44,57,54,46,51,48,50,32,50,50,50,46,49,52,48,32,67,32,57,54,46,52,56,53,32,50,50,50,46,50,53,51,44,57,55,46,54,55,52,32,50,49,57,46,55,57,50,44,57,56,46,57,52,52,32,50,49,54,46,54,55,50,32,67,32,49,48,49,46,55,50,54,32,50,48,57,46,56,52,51,44,49,48,49,46,55,49,57,32,50,48,57,46,56,53,57,44,49,48,50,46,55,49,48,32,50,48,55,46,54,48,48,32,67,32,49,48,51,46,51,49,52,32,50,48,54,46,50,50,50,44,49,48,57,46,51,49,49,32,49,57,49,46,55,55,48,44,49,49,49,46,53,57,48,32,49,56,54,46,50,48,48,32,67,32,49,49,49,46,55,55,48,32,49,56,53,46,55,54,48,44,49,49,50,46,51,53,56,32,49,56,52,46,52,49,48,44,49,49,50,46,56,57,54,32,49,56,51,46,50,48,48,32,67,32,49,49,51,46,52,51,53,32,49,56,49,46,57,57,48,44,49,49,52,46,50,49,51,32,49,56,48,46,49,48,53,44,49,49,52,46,54,50,54,32,49,55,57,46,48,49,50,32,67,32,49,49,53,46,48,51,56,32,49,55,55,46,57,49,57,44,49,49,54,46,48,53,54,32,49,55,54,46,51,52,52,44,49,49,54,46,56,56,56,32,49,55,53,46,53,49,50,32,76,32,49,49,56,46,52,48,48,32,49,55,52,46,48,48,48,32,49,50,50,46,57,55,49,32,49,55,52,46,48,48,48,32,67,32,49,50,57,46,57,50,54,32,49,55,52,46,48,48,48,44,49,50,57,46,50,48,48,32,49,55,48,46,52,49,48,44,49,50,57,46,50,48,48,32,50,48,52,46,56,50,49,32,67,32,49,50,57,46,50,48,48,32,50,50,48,46,54,49,52,44,49,50,57,46,48,57,49,32,50,51,51,46,56,49,57,44,49,50,56,46,57,53,55,32,50,51,52,46,49,54,55,32,67,32,49,50,56,46,54,53,51,32,50,51,52,46,57,54,49,44,49,50,50,46,56,52,57,32,50,51,53,46,48,56,57,44,49,50,50,46,48,56,48,32,50,51,52,46,51,50,48,32,67,32,49,50,49,46,55,49,55,32,50,51,51,46,57,53,55,44,49,50,49,46,53,57,57,32,50,50,55,46,56,55,52,44,49,50,49,46,53,57,53,32,50,48,57,46,52,50,48,32,67,32,49,50,49,46,53,56,56,32,49,55,57,46,53,57,57,44,49,50,49,46,54,52,50,32,49,55,57,46,57,53,48,44,49,49,56,46,51,53,52,32,49,56,56,46,51,48,48,32,67,32,49,49,56,46,49,53,57,32,49,56,56,46,55,57,53,44,49,49,55,46,56,50,55,32,49,56,57,46,54,48,53,44,49,49,55,46,54,49,54,32,49,57,48,46,49,48,48,32,67,32,49,49,55,46,52,48,53,32,49,57,48,46,53,57,53,44,49,49,54,46,50,51,48,32,49,57,51,46,53,50,48,44,49,49,53,46,48,48,52,32,49,57,54,46,54,48,48,32,67,32,49,49,51,46,55,55,56,32,49,57,57,46,54,56,48,44,49,49,50,46,54,48,49,32,50,48,50,46,53,49,51,44,49,49,50,46,51,56,56,32,50,48,50,46,56,57,53,32,67,32,49,49,50,46,49,55,53,32,50,48,51,46,50,55,55,44,49,49,50,46,48,48,48,32,50,48,51,46,55,55,50,44,49,49,50,46,48,48,48,32,50,48,51,46,57,57,55,32,67,32,49,49,50,46,48,48,48,32,50,48,52,46,50,50,49,44,49,49,49,46,53,53,48,32,50,48,53,46,51,51,55,44,49,49,49,46,48,48,48,32,50,48,54,46,52,55,55,32,67,32,49,49,48,46,52,53,48,32,50,48,55,46,54,49,55,44,49,49,48,46,48,48,48,32,50,48,56,46,54,57,55,44,49,49,48,46,48,48,48,32,50,48,56,46,56,55,55,32,67,32,49,49,48,46,48,48,48,32,50,48,57,46,48,53,55,44,49,48,57,46,53,53,48,32,50,49,48,46,49,51,55,44,49,48,57,46,48,48,48,32,50,49,49,46,50,55,55,32,67,32,49,48,56,46,52,53,48,32,50,49,50,46,52,49,55,44,49,48,56,46,48,48,48,32,50,49,51,46,53,55,49,44,49,48,56,46,48,48,48,32,50,49,51,46,56,52,50,32,67,32,49,48,56,46,48,48,48,32,50,49,52,46,49,49,51,44,49,48,55,46,55,52,55,32,50,49,52,46,56,52,53,44,49,48,55,46,52,51,55,32,50,49,53,46,52,54,56,32,67,32,49,48,54,46,57,50,53,32,50,49,54,46,52,57,56,44,49,48,54,46,52,54,56,32,50,49,55,46,53,53,57,44,49,48,53,46,53,55,52,32,50,49,57,46,56,48,48,32,67,32,49,48,53,46,50,54,48,32,50,50,48,46,53,56,54,44,49,48,52,46,50,52,55,32,50,50,51,46,48,50,51,44,49,48,51,46,53,56,48,32,50,50,52,46,54,48,48,32,67,32,49,48,51,46,51,57,51,32,50,50,53,46,48,52,48,44,49,48,50,46,52,55,52,32,50,50,55,46,50,57,48,44,49,48,49,46,53,51,55,32,50,50,57,46,54,48,48,32,67,32,57,57,46,51,56,52,32,50,51,52,46,57,48,53,44,57,57,46,52,57,57,32,50,51,52,46,56,48,48,44,57,53,46,56,53,49,32,50,51,52,46,56,48,48,32,67,32,57,50,46,52,49,49,32,50,51,52,46,56,48,48,44,57,50,46,50,54,55,32,50,51,52,46,54,56,56,44,57,48,46,55,55,57,32,50,51,48,46,56,52,54,32,67,32,57,48,46,51,48,48,32,50,50,57,46,54,49,49,44,56,57,46,54,56,54,32,50,50,56,46,48,54,48,44,56,57,46,52,49,52,32,50,50,55,46,52,48,48,32,67,32,56,57,46,49,52,51,32,50,50,54,46,55,52,48,44,56,56,46,54,57,50,32,50,50,53,46,53,55,48,44,56,56,46,52,49,51,32,50,50,52,46,56,48,48,32,67,32,56,55,46,54,56,54,32,50,50,50,46,55,57,50,44,56,54,46,56,50,49,32,50,50,48,46,55,49,48,44,56,54,46,51,56,49,32,50,49,57,46,57,48,53,32,67,32,56,54,46,49,55,49,32,50,49,57,46,53,50,51,44,56,54,46,48,48,48,32,50,49,56,46,57,51,54,44,56,54,46,48,48,48,32,50,49,56,46,54,48,48,32,67,32,56,54,46,48,48,48,32,50,49,56,46,50,54,52,44,56,53,46,56,50,50,32,50,49,55,46,54,55,55,44,56,53,46,54,48,52,32,50,49,55,46,50,57,53,32,67,32,56,53,46,51,56,54,32,50,49,54,46,57,49,51,44,56,52,46,48,51,48,32,50,49,51,46,53,52,48,44,56,50,46,53,57,48,32,50,48,57,46,56,48,48,32,67,32,56,49,46,49,53,49,32,50,48,54,46,48,54,48,44,55,57,46,55,57,57,32,50,48,50,46,54,56,55,44,55,57,46,53,56,54,32,50,48,50,46,51,48,53,32,67,32,55,57,46,51,55,52,32,50,48,49,46,57,50,51,44,55,57,46,50,48,48,32,50,48,49,46,52,49,49,44,55,57,46,50,48,48,32,50,48,49,46,49,54,54,32,67,32,55,57,46,50,48,48,32,50,48,48,46,57,50,49,44,55,56,46,57,53,48,32,50,48,48,46,49,53,52,44,55,56,46,54,52,53,32,49,57,57,46,52,54,48,32,67,32,55,56,46,51,52,49,32,49,57,56,46,55,54,55,44,55,55,46,53,57,55,32,49,57,54,46,57,52,48,44,55,54,46,57,57,50,32,49,57,53,46,52,48,48,32,67,32,55,54,46,51,56,56,32,49,57,51,46,56,54,48,44,55,53,46,54,55,53,32,49,57,50,46,48,54,48,44,55,53,46,52,48,55,32,49,57,49,46,52,48,48,32,67,32,55,53,46,49,51,57,32,49,57,48,46,55,52,48,44,55,52,46,54,57,50,32,49,56,57,46,53,55,48,44,55,52,46,52,49,51,32,49,56,56,46,56,48,48,32,67,32,55,51,46,54,56,54,32,49,56,54,46,55,57,50,44,55,50,46,56,50,49,32,49,56,52,46,55,49,48,44,55,50,46,51,56,49,32,49,56,51,46,57,48,53,32,67,32,55,50,46,49,55,49,32,49,56,51,46,53,50,51,44,55,50,46,48,48,48,32,49,56,50,46,57,51,56,44,55,50,46,48,48,48,32,49,56,50,46,54,48,53,32,67,32,55,50,46,48,48,48,32,49,56,50,46,50,55,50,44,55,49,46,56,50,48,32,49,56,50,46,48,48,48,44,55,49,46,54,48,48,32,49,56,50,46,48,48,48,32,67,32,55,49,46,51,51,55,32,49,56,50,46,48,48,48,44,55,49,46,50,48,48,32,49,57,48,46,57,48,55,44,55,49,46,50,48,48,32,50,48,55,46,57,50,48,32,67,32,55,49,46,50,48,48,32,50,51,55,46,52,50,52,44,55,49,46,53,57,48,32,50,51,52,46,56,48,48,44,54,55,46,50,48,48,32,50,51,52,46,56,48,48,32,67,32,54,50,46,56,48,49,32,50,51,52,46,56,48,48,44,54,51,46,50,48,48,32,50,51,55,46,55,50,54,44,54,51,46,50,48,48,32,50,48,53,46,52,57,52,32,67,32,54,51,46,50,48,48,32,49,55,54,46,53,54,54,44,54,51,46,50,48,55,32,49,55,54,46,52,50,55,44,54,52,46,55,49,51,32,49,55,52,46,55,48,48,32,67,32,54,53,46,53,56,52,32,49,55,51,46,55,48,50,44,55,51,46,50,51,54,32,49,55,51,46,54,56,51,44,55,53,46,50,51,57,32,49,55,52,46,54,55,51,32,77,49,54,57,46,50,54,51,32,49,55,52,46,52,51,52,32,67,32,49,55,48,46,49,48,53,32,49,55,52,46,56,56,52,44,49,55,50,46,48,48,48,32,49,55,56,46,54,57,49,44,49,55,50,46,48,48,48,32,49,55,57,46,57,51,49,32,67,32,49,55,50,46,48,48,48,32,49,56,48,46,51,50,49,44,49,55,50,46,49,53,53,32,49,56,48,46,56,49,49,44,49,55,50,46,51,52,52,32,49,56,49,46,48,50,48,32,67,32,49,55,50,46,53,51,51,32,49,56,49,46,50,50,57,44,49,55,51,46,48,49,49,32,49,56,50,46,51,57,48,44,49,55,51,46,52,48,53,32,49,56,51,46,54,48,48,32,67,32,49,55,51,46,55,57,57,32,49,56,52,46,56,49,48,44,49,55,52,46,51,52,54,32,49,56,54,46,51,52,48,44,49,55,52,46,54,50,49,32,49,56,55,46,48,48,48,32,67,32,49,55,52,46,56,57,54,32,49,56,55,46,54,54,48,44,49,55,53,46,51,57,53,32,49,56,57,46,48,49,48,44,49,55,53,46,55,51,49,32,49,57,48,46,48,48,48,32,67,32,49,55,54,46,48,54,55,32,49,57,48,46,57,57,48,44,49,55,54,46,57,55,48,32,49,57,51,46,53,49,48,44,49,55,55,46,55,51,56,32,49,57,53,46,54,48,48,32,67,32,49,55,56,46,53,48,54,32,49,57,55,46,54,57,48,44,49,55,57,46,51,53,52,32,50,48,48,46,48,51,48,44,49,55,57,46,54,50,51,32,50,48,48,46,56,48,48,32,67,32,49,55,57,46,56,57,49,32,50,48,49,46,53,55,48,44,49,56,48,46,53,51,54,32,50,48,51,46,50,56,48,44,49,56,49,46,48,53,54,32,50,48,52,46,54,48,48,32,67,32,49,56,49,46,53,55,55,32,50,48,53,46,57,50,48,44,49,56,50,46,48,48,50,32,50,48,55,46,51,48,52,44,49,56,50,46,48,48,49,32,50,48,55,46,54,55,54,32,67,32,49,56,50,46,48,48,49,32,50,48,56,46,48,52,56,44,49,56,50,46,49,53,57,32,50,48,56,46,52,53,49,44,49,56,50,46,51,53,50,32,50,48,56,46,53,55,48,32,67,32,49,56,50,46,53,52,54,32,50,48,56,46,54,57,48,44,49,56,50,46,56,48,49,32,50,48,57,46,49,57,54,44,49,56,50,46,57,49,57,32,50,48,57,46,54,57,52,32,67,32,49,56,51,46,48,51,55,32,50,49,48,46,49,57,50,44,49,56,51,46,54,57,55,32,50,49,50,46,49,51,48,44,49,56,52,46,51,56,54,32,50,49,52,46,48,48,48,32,67,32,49,56,53,46,48,55,52,32,50,49,53,46,56,55,48,44,49,56,53,46,57,55,54,32,50,49,56,46,52,49,53,44,49,56,54,46,51,56,56,32,50,49,57,46,54,53,55,32,67,32,49,56,54,46,56,48,49,32,50,50,48,46,56,57,56,44,49,56,55,46,51,49,49,32,50,50,50,46,50,52,56,44,49,56,55,46,53,50,49,32,50,50,50,46,54,53,55,32,67,32,49,56,55,46,55,51,49,32,50,50,51,46,48,54,53,44,49,56,56,46,50,50,48,32,50,50,52,46,51,57,48,44,49,56,56,46,54,48,56,32,50,50,53,46,54,48,48,32,67,32,49,56,56,46,57,57,53,32,50,50,54,46,56,49,48,44,49,56,57,46,52,54,55,32,50,50,55,46,57,55,49,44,49,56,57,46,54,53,54,32,50,50,56,46,49,56,48,32,67,32,49,56,57,46,56,52,53,32,50,50,56,46,51,56,57,44,49,57,48,46,48,48,48,32,50,50,56,46,57,54,51,44,49,57,48,46,48,48,48,32,50,50,57,46,52,53,54,32,67,32,49,57,48,46,48,48,48,32,50,50,57,46,57,52,57,44,49,57,48,46,49,54,48,32,50,51,48,46,52,53,49,44,49,57,48,46,51,53,53,32,50,51,48,46,53,55,50,32,67,32,49,57,48,46,56,52,55,32,50,51,48,46,56,55,54,44,49,57,49,46,50,55,48,32,50,51,51,46,51,53,51,44,49,57,48,46,57,54,53,32,50,51,52,46,49,52,54,32,67,32,49,57,48,46,55,53,56,32,50,51,52,46,54,56,53,44,49,57,48,46,48,55,50,32,50,51,52,46,56,48,48,44,49,56,55,46,48,52,56,32,50,51,52,46,56,48,48,32,76,32,49,56,51,46,51,56,50,32,50,51,52,46,56,48,48,32,49,56,50,46,55,50,49,32,50,51,51,46,53,48,48,32,67,32,49,56,49,46,55,57,51,32,50,51,49,46,54,55,54,44,49,55,56,46,48,48,48,32,50,50,49,46,48,49,49,44,49,55,56,46,48,48,48,32,50,50,48,46,50,50,55,32,67,32,49,55,56,46,48,48,48,32,50,49,56,46,57,55,50,44,49,55,54,46,48,54,57,32,50,49,56,46,55,56,55,44,49,54,52,46,49,50,49,32,50,49,56,46,56,57,52,32,76,32,49,53,50,46,51,50,53,32,50,49,57,46,48,48,48,32,49,53,49,46,55,52,53,32,50,50,48,46,54,48,48,32,67,32,49,53,49,46,52,50,54,32,50,50,49,46,52,56,48,44,49,53,48,46,56,56,51,32,50,50,51,46,49,48,48,44,49,53,48,46,53,51,55,32,50,50,52,46,50,48,48,32,67,32,49,53,48,46,49,57,50,32,50,50,53,46,51,48,48,44,49,52,57,46,53,55,57,32,50,50,55,46,48,50,51,44,49,52,57,46,49,55,52,32,50,50,56,46,48,51,48,32,67,32,49,52,56,46,55,54,57,32,50,50,57,46,48,51,54,44,49,52,56,46,49,52,48,32,50,51,48,46,55,52,54,44,49,52,55,46,55,55,54,32,50,51,49,46,56,51,48,32,67,32,49,52,54,46,55,55,49,32,50,51,52,46,56,49,55,44,49,52,54,46,55,50,52,32,50,51,52,46,56,52,52,44,49,52,50,46,56,51,57,32,50,51,52,46,55,49,53,32,67,32,49,51,57,46,53,51,50,32,50,51,52,46,54,48,52,44,49,51,57,46,51,57,53,32,50,51,52,46,53,54,50,44,49,51,57,46,50,54,50,32,50,51,51,46,54,50,49,32,67,32,49,51,57,46,49,51,48,32,50,51,50,46,54,56,55,44,49,51,57,46,56,52,48,32,50,50,57,46,56,52,53,44,49,52,48,46,52,49,55,32,50,50,57,46,48,48,48,32,67,32,49,52,48,46,53,54,55,32,50,50,56,46,55,56,48,44,49,52,49,46,48,50,49,32,50,50,55,46,53,50,48,44,49,52,49,46,52,50,54,32,50,50,54,46,50,48,48,32,67,32,49,52,49,46,56,51,49,32,50,50,52,46,56,56,48,44,49,52,50,46,51,57,53,32,50,50,51,46,51,53,48,44,49,52,50,46,54,55,57,32,50,50,50,46,56,48,48,32,67,32,49,52,50,46,57,54,51,32,50,50,50,46,50,53,48,44,49,52,51,46,49,57,54,32,50,50,49,46,53,55,51,44,49,52,51,46,49,57,56,32,50,50,49,46,50,57,53,32,67,32,49,52,51,46,49,57,57,32,50,50,49,46,48,49,55,44,49,52,51,46,51,54,57,32,50,50,48,46,52,55,55,44,49,52,51,46,53,55,53,32,50,50,48,46,48,57,53,32,67,32,49,52,52,46,50,49,55,32,50,49,56,46,57,48,55,44,49,52,54,46,48,48,48,32,50,49,51,46,56,49,53,44,49,52,54,46,48,48,48,32,50,49,51,46,49,55,50,32,67,32,49,52,54,46,48,48,48,32,50,49,50,46,56,51,53,44,49,52,54,46,49,53,56,32,50,49,50,46,51,56,57,44,49,52,54,46,51,53,49,32,50,49,50,46,49,56,48,32,67,32,49,52,54,46,53,52,52,32,50,49,49,46,57,55,49,44,49,52,55,46,48,55,56,32,50,49,48,46,55,50,48,44,49,52,55,46,53,51,57,32,50,48,57,46,52,48,48,32,67,32,49,52,55,46,57,57,57,32,50,48,56,46,48,56,48,44,49,52,56,46,57,51,55,32,50,48,53,46,52,55,48,44,49,52,57,46,54,50,49,32,50,48,51,46,54,48,48,32,67,32,49,53,48,46,51,48,54,32,50,48,49,46,55,51,48,44,49,53,48,46,57,54,51,32,49,57,57,46,55,57,50,44,49,53,49,46,48,56,49,32,49,57,57,46,50,57,52,32,67,32,49,53,49,46,49,57,57,32,49,57,56,46,55,57,54,44,49,53,49,46,52,53,52,32,49,57,56,46,50,57,48,44,49,53,49,46,54,52,56,32,49,57,56,46,49,55,48,32,67,32,49,53,49,46,56,52,49,32,49,57,56,46,48,53,49,44,49,53,50,46,48,48,48,32,49,57,55,46,54,49,53,44,49,53,50,46,48,48,48,32,49,57,55,46,50,48,51,32,67,32,49,53,50,46,48,48,48,32,49,57,54,46,55,57,48,44,49,53,50,46,52,50,52,32,49,57,53,46,52,48,54,44,49,53,50,46,57,52,49,32,49,57,52,46,49,50,54,32,67,32,49,53,51,46,52,53,57,32,49,57,50,46,56,52,55,44,49,53,52,46,50,48,48,32,49,57,48,46,57,48,48,44,49,53,52,46,53,56,56,32,49,56,57,46,56,48,48,32,67,32,49,53,52,46,57,55,54,32,49,56,56,46,55,48,48,44,49,53,53,46,56,50,54,32,49,56,54,46,51,54,48,44,49,53,54,46,52,55,54,32,49,56,52,46,54,48,48,32,67,32,49,53,55,46,49,50,54,32,49,56,50,46,56,52,48,44,49,53,55,46,57,51,51,32,49,56,48,46,53,57,48,44,49,53,56,46,50,54,57,32,49,55,57,46,54,48,48,32,67,32,49,53,57,46,49,56,55,32,49,55,54,46,56,57,52,44,49,54,48,46,48,57,53,32,49,55,53,46,48,53,54,44,49,54,48,46,55,56,51,32,49,55,52,46,53,49,51,32,67,32,49,54,49,46,53,54,51,32,49,55,51,46,56,57,54,44,49,54,56,46,49,52,53,32,49,55,51,46,56,51,53,44,49,54,57,46,50,54,51,32,49,55,52,46,52,51,52,32,77,50,57,53,46,52,50,48,32,49,55,53,46,51,56,55,32,67,32,50,57,54,46,49,53,56,32,49,55,55,46,49,53,51,44,50,57,54,46,49,53,50,32,49,55,56,46,49,52,54,44,50,57,53,46,51,57,51,32,49,55,57,46,54,49,52,32,76,32,50,57,52,46,55,56,54,32,49,56,48,46,55,56,56,32,50,56,50,46,56,57,51,32,49,56,48,46,56,57,52,32,76,32,50,55,49,46,48,48,48,32,49,56,49,46,48,48,48,32,50,55,49,46,48,48,48,32,49,57,48,46,48,48,48,32,76,32,50,55,49,46,48,48,48,32,49,57,57,46,48,48,48,32,50,56,49,46,49,51,51,32,49,57,57,46,50,48,48,32,67,32,50,57,50,46,54,53,55,32,49,57,57,46,52,50,55,44,50,57,50,46,52,48,48,32,49,57,57,46,51,52,53,44,50,57,50,46,52,48,48,32,50,48,50,46,56,48,48,32,67,32,50,57,50,46,52,48,48,32,50,48,54,46,48,56,49,44,50,57,50,46,55,52,53,32,50,48,53,46,57,56,48,44,50,56,49,46,50,48,48,32,50,48,54,46,48,57,55,32,76,32,50,55,49,46,48,48,48,32,50,48,54,46,50,48,48,32,50,55,48,46,56,57,52,32,50,49,55,46,49,48,48,32,76,32,50,55,48,46,55,56,55,32,50,50,56,46,48,48,48,32,50,56,50,46,54,57,52,32,50,50,56,46,48,49,51,32,67,32,50,57,54,46,55,54,57,32,50,50,56,46,48,50,56,44,50,57,54,46,48,57,52,32,50,50,55,46,56,51,50,44,50,57,53,46,57,49,57,32,50,51,49,46,56,53,56,32,76,32,50,57,53,46,56,48,48,32,50,51,52,46,54,48,48,32,50,55,57,46,56,48,48,32,50,51,52,46,55,48,57,32,67,32,50,54,51,46,56,56,55,32,50,51,52,46,56,49,56,44,50,54,51,46,55,57,54,32,50,51,52,46,56,49,51,44,50,54,51,46,49,48,48,32,50,51,51,46,57,54,53,32,67,32,50,54,49,46,57,49,48,32,50,51,50,46,53,49,52,44,50,54,50,46,48,51,51,32,49,55,54,46,53,55,53,44,50,54,51,46,50,50,57,32,49,55,53,46,48,53,52,32,76,32,50,54,52,46,48,53,56,32,49,55,52,46,48,48,48,32,50,55,57,46,52,52,57,32,49,55,52,46,48,48,48,32,76,32,50,57,52,46,56,52,49,32,49,55,52,46,48,48,48,32,50,57,53,46,52,50,48,32,49,55,53,46,51,56,55,32,77,49,54,51,46,54,52,52,32,49,56,53,46,52,53,54,32,67,32,49,54,51,46,49,53,51,32,49,56,54,46,57,54,53,44,49,54,50,46,54,48,55,32,49,56,56,46,53,54,48,44,49,54,50,46,52,51,49,32,49,56,57,46,48,48,48,32,67,32,49,54,50,46,50,53,53,32,49,56,57,46,52,52,48,44,49,54,49,46,56,56,53,32,49,57,48,46,53,50,48,44,49,54,49,46,54,48,57,32,49,57,49,46,52,48,48,32,67,32,49,54,49,46,51,51,52,32,49,57,50,46,50,56,48,44,49,54,48,46,56,56,56,32,49,57,51,46,53,52,48,44,49,54,48,46,54,50,48,32,49,57,52,46,50,48,48,32,67,32,49,53,57,46,57,54,48,32,49,57,53,46,56,50,50,44,49,53,57,46,50,55,51,32,49,57,55,46,55,57,57,44,49,53,56,46,53,51,52,32,50,48,48,46,50,48,48,32,67,32,49,53,56,46,49,57,53,32,50,48,49,46,51,48,48,44,49,53,55,46,54,55,55,32,50,48,50,46,56,51,48,44,49,53,55,46,51,56,51,32,50,48,51,46,54,48,48,32,67,32,49,53,55,46,48,56,57,32,50,48,52,46,51,55,48,44,49,53,54,46,54,51,52,32,50,48,53,46,55,50,48,44,49,53,54,46,51,55,50,32,50,48,54,46,54,48,48,32,67,32,49,53,54,46,49,49,48,32,50,48,55,46,52,56,48,44,49,53,53,46,54,53,57,32,50,48,56,46,56,51,48,44,49,53,53,46,51,55,49,32,50,48,57,46,54,48,48,32,67,32,49,53,53,46,48,56,50,32,50,49,48,46,51,55,48,44,49,53,52,46,55,51,52,32,50,49,49,46,52,48,53,44,49,53,52,46,53,57,54,32,50,49,49,46,57,48,48,32,76,32,49,53,52,46,51,52,54,32,50,49,50,46,56,48,48,32,49,54,52,46,53,55,51,32,50,49,50,46,56,48,48,32,67,32,49,55,51,46,56,56,50,32,50,49,50,46,56,48,48,44,49,55,52,46,56,48,48,32,50,49,50,46,55,52,48,44,49,55,52,46,56,48,48,32,50,49,50,46,49,50,56,32,67,32,49,55,52,46,56,48,48,32,50,49,49,46,52,57,56,44,49,55,52,46,50,55,50,32,50,48,57,46,54,49,50,44,49,55,51,46,53,56,55,32,50,48,55,46,56,48,48,32,67,32,49,55,51,46,52,50,49,32,50,48,55,46,51,54,48,44,49,55,50,46,57,56,50,32,50,48,54,46,49,48,48,44,49,55,50,46,54,49,49,32,50,48,53,46,48,48,48,32,67,32,49,55,50,46,50,52,49,32,50,48,51,46,57,48,48,44,49,55,49,46,55,56,49,32,50,48,50,46,54,52,48,44,49,55,49,46,53,57,48,32,50,48,50,46,50,48,48,32,67,32,49,55,49,46,51,57,57,32,50,48,49,46,55,54,48,44,49,55,48,46,48,53,49,32,49,57,55,46,56,49,51,44,49,54,56,46,53,57,53,32,49,57,51,46,52,51,48,32,67,32,49,54,55,46,49,51,56,32,49,56,57,46,48,52,54,44,49,54,53,46,54,51,48,32,49,56,52,46,56,52,49,44,49,54,53,46,50,52,50,32,49,56,52,46,48,56,54,32,76,32,49,54,52,46,53,51,56,32,49,56,50,46,55,49,50,32,49,54,51,46,54,52,52,32,49,56,53,46,52,53,54,32,34,32,115,116,114,111,107,101,61,34,110,111,110,101,34,32,102,105,108,108,61,34,35,48,52,48,52,48,52,34,32,102,105,108,108,45,114,117,108,101,61,34,101,118,101,110,111,100,100,34,62,60,47,112,97,116,104,62,60,47,103,62,60,47,115,118,103,62]}}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-ellipse.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-ellipse.tsx index 5af63026..97611cc4 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-ellipse.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-ellipse.tsx @@ -24,5 +24,5 @@ export const test: ExportTestDef = { name: "react svg ellipse", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"ellipse","key":"0","ref":null,"props":{"cx":75,"cy":75,"rx":25,"ry":25,"stroke":"rgb(0,128,0)","strokeWidth":2,"strokeOpacity":"1","fillOpacity":"1","fill":"rgb(255,255,0)"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"ellipse","topLeft":{"x":50,"y":50},"bottomRight":{"x":100,"y":100},"strokeColor":{"a":255,"r":0,"g":128,"b":0},"strokeThickness":2,"fillColor":{"a":255,"r":255,"g":255,"b":0}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.tsx index a12f8a12..cd36e5ba 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.tsx @@ -31,5 +31,5 @@ export const test: ExportTestDef = { name: "react svg empty text", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.tsx index 3afdcdbe..83e6dc3a 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.tsx @@ -40,5 +40,5 @@ export const test: ExportTestDef = { name: "react svg group", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"g","key":"0","ref":null,"props":{"name":"group","children":[{"type":"text","key":"0","ref":null,"props":{"style":{"textAnchor":"middle","fontSize":"12px","fontWeight":"normal","fontFamily":"Helvetica","fill":"rgb(0,0,0)"},"transform":"rotate(0 200 200)","children":[{"type":"tspan","key":"Test","ref":null,"props":{"x":200,"y":206,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Test"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"rect","key":"1","ref":null,"props":{"x":10,"y":50,"width":40,"height":10,"stroke":"rgb(0,0,255)","strokeWidth":2,"strokeOpacity":"1","fillOpacity":"1","fill":"rgb(255,0,0)"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"group","name":"group","children":[{"type":"text","position":{"x":200,"y":200},"text":"Test","fontFamily":"Helvetica","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"normal","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"uniform","verticalGrowthDirection":"uniform","strokeThickness":0,"strokeColor":{"a":255,"r":0,"g":0,"b":0},"italic":false},{"type":"rectangle","topLeft":{"x":10,"y":50},"bottomRight":{"x":50,"y":60},"strokeColor":{"a":255,"r":0,"g":0,"b":255},"strokeThickness":2,"fillColor":{"a":255,"r":255,"g":0,"b":0}}]}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-line.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-line.tsx index d56d6686..ed87b4b4 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-line.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-line.tsx @@ -22,5 +22,5 @@ export const test: ExportTestDef = { name: "react svg line", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"line","key":"0","ref":null,"props":{"x1":10,"y1":100,"x2":40,"y2":70,"stroke":"rgb(0,0,0)","strokeWidth":2,"strokeOpacity":"1"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"line","start":{"x":10,"y":100},"end":{"x":40,"y":70},"strokeColor":{"a":255,"r":0,"g":0,"b":0},"strokeThickness":2}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polygon.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polygon.tsx index 436b9a1b..188da427 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polygon.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polygon.tsx @@ -28,5 +28,5 @@ export const test: ExportTestDef = { name: "react svg polygon", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"polygon","key":"0","ref":null,"props":{"points":"110,10 100,20 110,30 100,40 110,50","stroke":"rgb(0,0,255)","strokeWidth":2,"strokeOpacity":"1","fillOpacity":"1","fill":"rgb(255,0,0)"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"polygon","points":[{"x":110,"y":10},{"x":100,"y":20},{"x":110,"y":30},{"x":100,"y":40},{"x":110,"y":50}],"strokeColor":{"a":255,"r":0,"g":0,"b":255},"strokeThickness":2,"fillColor":{"a":255,"r":255,"g":0,"b":0}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polyline.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polyline.tsx index 5e91594c..1f5fbd8a 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polyline.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polyline.tsx @@ -29,5 +29,5 @@ export const test: ExportTestDef = { name: "react svg polyline", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"polyline","key":"0","ref":null,"props":{"points":"10,40 20,30 30,40 40,30 50,40 60,30 70,40","stroke":"rgb(0,0,0)","strokeWidth":2,"strokeOpacity":"1","fill":"none"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"polyline","points":[{"x":10,"y":40},{"x":20,"y":30},{"x":30,"y":40},{"x":40,"y":30},{"x":50,"y":40},{"x":60,"y":30},{"x":70,"y":40}],"strokeColor":{"a":255,"r":0,"g":0,"b":0},"strokeThickness":2}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.tsx index f38e51e4..fdc7be39 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.tsx @@ -32,5 +32,5 @@ export const test: ExportTestDef = { name: "react svg subimage", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"subimage","topLeft":{"x":10,"y":10},"image":{"type":"text","position":{"x":10,"y":10},"text":"","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-bold.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-bold.tsx index 557a20c9..59a7effd 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-bold.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-bold.tsx @@ -46,5 +46,5 @@ export const test: ExportTestDef = { name: "react svg text bold", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"text","key":"0shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"0","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"1shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"1","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}},{"key":"1","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"mediumBold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.tsx index 6f09e280..e0ec59a4 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.tsx @@ -76,5 +76,5 @@ export const test: ExportTestDef = { name: "react svg text growth directions", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"text","key":"0shadow","ref":null,"props":{"style":{"textAnchor":"end","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":10,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"0","ref":null,"props":{"style":{"textAnchor":"end","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":10,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"1shadow","ref":null,"props":{"style":{"textAnchor":"middle","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 30)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":36,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"1","ref":null,"props":{"style":{"textAnchor":"middle","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 30)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":36,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"2shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 50)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":62,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"2","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 50)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":62,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"3shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 70)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":82,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"3","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 70)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":82,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"left","verticalGrowthDirection":"up","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}},{"key":"1","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":30},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"uniform","verticalGrowthDirection":"uniform","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}},{"key":"2","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":50},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"left","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}},{"key":"3","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":70},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"right","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-italic.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-italic.tsx index 23193571..73331452 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-italic.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-italic.tsx @@ -58,8 +58,8 @@ const image = AbstractImage.createAbstractImage( const svg = AbstractImage.createReactSvg(image); export const test: ExportTestDef = { - name: "react svg text bold", + name: "react svg text italic", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"text","key":"0shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"normal","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"0","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"normal","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"1shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 20 20)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":20,"y":32,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"1","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 20 20)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":20,"y":32,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"2shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 30 30)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":30,"y":42,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"2","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 30 30)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":30,"y":42,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"normal","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":true}},"_owner":null,"_store":{}},{"key":"1","ref":null,"props":{"component":{"type":"text","position":{"x":20,"y":20},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":true}},"_owner":null,"_store":{}},{"key":"2","ref":null,"props":{"component":{"type":"text","position":{"x":30,"y":30},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"mediumBold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":true}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.tsx index 07a56a25..ad2d7ca5 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.tsx @@ -31,5 +31,5 @@ export const test: ExportTestDef = { name: "react svg text sub", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"text","key":"0shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello "},"_owner":null,"_store":{}},{"type":"tspan","key":"1","ref":null,"props":{"baselineShift":"sub","style":{"fontSize":"9.600000000000001px"},"children":"World"},"_owner":null,"_store":{}},{"type":"tspan","key":"2","ref":null,"props":{"children":""},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"0","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"bold","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello "},"_owner":null,"_store":{}},{"type":"tspan","key":"1","ref":null,"props":{"baselineShift":"sub","style":{"fontSize":"9.600000000000001px"},"children":"World"},"_owner":null,"_store":{}},{"type":"tspan","key":"2","ref":null,"props":{"children":""},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"bold","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.tsx b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.tsx index 829b451d..e4a85ea4 100644 --- a/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.tsx +++ b/packages/abstract-image/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.tsx @@ -31,5 +31,5 @@ export const test: ExportTestDef = { name: "react svg text", abstractImage: svg, expectedSerializedJsx: - '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"type":"text","key":"0shadow","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"normal","fontFamily":"Arial","stroke":"rgb(255,0,0)","strokeWidth":2},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}},{"type":"text","key":"0","ref":null,"props":{"style":{"textAnchor":"start","fontSize":"12px","fontWeight":"normal","fontFamily":"Arial","fill":"rgb(0,0,0)"},"transform":"rotate(0 10 10)","children":[{"type":"tspan","key":"Hello World","ref":null,"props":{"x":10,"y":22,"height":"12px","children":[{"type":"tspan","key":"0","ref":null,"props":{"children":"Hello World"},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', + '{"type":"svg","key":null,"ref":null,"props":{"id":"ai_root","width":"400px","height":"400px","viewBox":"0 0 400 400","children":[{"key":"0","ref":null,"props":{"component":{"type":"text","position":{"x":10,"y":10},"text":"Hello World","fontFamily":"Arial","fontSize":12,"textColor":{"a":255,"r":0,"g":0,"b":0},"fontWeight":"normal","clockwiseRotationDegrees":0,"textAlignment":"center","horizontalGrowthDirection":"right","verticalGrowthDirection":"down","strokeThickness":2,"strokeColor":{"a":255,"r":255,"g":0,"b":0},"italic":false}},"_owner":null,"_store":{}}]},"_owner":null,"_store":{}}', }; diff --git a/packages/abstract-image/src/exporters/react-svg-export-image.tsx b/packages/abstract-image/src/exporters/react-svg-export-image.tsx index dd495398..ffb66f5c 100644 --- a/packages/abstract-image/src/exporters/react-svg-export-image.tsx +++ b/packages/abstract-image/src/exporters/react-svg-export-image.tsx @@ -17,7 +17,6 @@ export function createReactSvg( ): React.ReactElement<{}> { const cb = callbacks || {}; const id = "ai_root"; - return ( - {image.components.flatMap((c, i) => ( + {image.components.map((c, i) => ( ))} @@ -110,53 +109,41 @@ function Component({ component }: { readonly component: AbstractImage.Component if (!component.text) { return <>; } - const lineHeight = component.fontSize; + const dy = getBaselineAdjustment(component.verticalGrowthDirection); + const transform = `rotate(${component.clockwiseRotationDegrees} ${component.position.x} ${component.position.y})`; + const lines: Array = component.text !== null ? component.text.split("\n") : []; + const tSpans = lines.map((t) => ( + + )); - const shadowStyle = { - textAnchor: getTextAnchor(component.horizontalGrowthDirection), - fontSize: component.fontSize.toString() + "px", - fontWeight: getTextFontWeight(component.fontWeight), - fontFamily: component.fontFamily, - stroke: colorToRgb(component.strokeColor), - strokeWidth: component.strokeThickness, - }; - const style = { + const baseStyle = { textAnchor: getTextAnchor(component.horizontalGrowthDirection), fontSize: component.fontSize.toString() + "px", fontWeight: getTextFontWeight(component.fontWeight), fontFamily: component.fontFamily, - fill: colorToRgb(component.textColor), }; - const dy = getBaselineAdjustment(component.verticalGrowthDirection); - - const transform = - "rotate(" + - component.clockwiseRotationDegrees.toString() + - " " + - component.position.x.toString() + - " " + - component.position.y.toString() + - ")"; - - const lines: Array = component.text !== null ? component.text.split("\n") : []; - const tSpans = lines.map((t) => - renderLine( - t, - component.position.x, - component.position.y + (lines.indexOf(t) + dy) * lineHeight, - component.fontSize, - lineHeight - ) - ); - return ( <> {component.strokeThickness > 0 && component.strokeColor && ( - + {tSpans} )} - + {tSpans} @@ -253,7 +240,19 @@ function getImageUrl(format: AbstractImage.BinaryFormat, data: AbstractImage.Ima } } -function renderLine(text: string, x: number, y: number, fontSize: number, lineHeight: number): JSX.Element { +function TSpan({ + text, + x, + y, + fontSize, + lineHeight, +}: { + readonly text: string; + readonly x: number; + readonly y: number; + readonly fontSize: number; + readonly lineHeight: number; +}): JSX.Element { const split = text.split("").flatMap((t) => t.split("")); let inside = false; const tags: Array = []; @@ -271,7 +270,7 @@ function renderLine(text: string, x: number, y: number, fontSize: number, lineHe inside = !inside; } return ( - + {tags} ); @@ -300,7 +299,7 @@ function getTextAnchor(d: AbstractImage.GrowthDirection): "end" | "middle" | "st if (d === "right") { return "start"; } - throw "Unknown text alignment " + d; + throw "Unknown text anchor " + d; } function colorToRgb(color: AbstractImage.Color): string { diff --git a/packages/abstract-image/src/exporters/svg-export-image.ts b/packages/abstract-image/src/exporters/svg-export-image.ts index c9dc869e..edc493c9 100644 --- a/packages/abstract-image/src/exporters/svg-export-image.ts +++ b/packages/abstract-image/src/exporters/svg-export-image.ts @@ -124,27 +124,9 @@ function abstractComponentToSVG(component: AbstractImage.Component): string { const cs: Array = []; if (component.strokeThickness > 0 && component.strokeColor !== null) { - cs.push( - createElement( - "text", - { - style: objectToAttributeValue(shadowStyle), - transform: transform, - }, - tSpans - ) - ); + cs.push(createElement("text", { style: objectToAttributeValue(shadowStyle), transform: transform }, tSpans)); } - cs.push( - createElement( - "text", - { - style: objectToAttributeValue(style), - transform: transform, - }, - tSpans - ) - ); + cs.push(createElement("text", { style: objectToAttributeValue(style), transform: transform }, tSpans)); return cs.join(); case "ellipse": const rx = Math.abs(component.bottomRight.x - component.topLeft.x) * 0.5; @@ -280,7 +262,7 @@ function getTextAnchor(d: AbstractImage.GrowthDirection): string { if (d === "right") { return "start"; } - throw "Unknown text alignment " + d; + throw "Unknown text anchor " + d; } function colorToRgb(color: AbstractImage.Color): string { diff --git a/packages/abstract-image/src/model/component.ts b/packages/abstract-image/src/model/component.ts index ba6a135a..074724f7 100644 --- a/packages/abstract-image/src/model/component.ts +++ b/packages/abstract-image/src/model/component.ts @@ -244,19 +244,19 @@ export function createText( ): Text { return { type: "text", - position: position, - text: text, - fontFamily: fontFamily, - fontSize: fontSize, - textColor: textColor, - fontWeight: fontWeight, - clockwiseRotationDegrees: clockwiseRotationDegrees, - textAlignment: textAlignment, - horizontalGrowthDirection: horizontalGrowthDirection, - verticalGrowthDirection: verticalGrowthDirection, - strokeThickness: strokeThickness, - strokeColor: strokeColor, - italic: italic, + position, + text, + fontFamily, + fontSize, + textColor, + fontWeight, + clockwiseRotationDegrees, + textAlignment, + horizontalGrowthDirection, + verticalGrowthDirection, + strokeThickness, + strokeColor, + italic, }; } @@ -267,11 +267,7 @@ export interface SubImage { } export function createSubImage(topLeft: Point.Point, image: Component): SubImage { - return { - type: "subimage", - topLeft: topLeft, - image: image, - }; + return { type: "subimage", topLeft, image }; } export function embedAbstractImage(topLeft: Point.Point, name: string, image: AbstractImage.AbstractImage): Component { From 51682c8c67e4f6996ae9b5579a96c41256216268 Mon Sep 17 00:00:00 2001 From: Tim Svensson Date: Mon, 13 May 2024 10:32:39 +0200 Subject: [PATCH 5/5] test-packages --- package.json | 8 +- yarn.lock | 1940 +++++++++++++++++++++++++++++++------------------- 2 files changed, 1200 insertions(+), 748 deletions(-) diff --git a/package.json b/package.json index a17a61b3..b046f8a9 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@storybook/react": "^6.3.7", "@types/enzyme": "^3.10.9", "@types/enzyme-adapter-react-16": "^1.0.6", - "@types/jest": "^27.0.1", + "@types/jest": "^29.5.12", "@types/node": "^14.14.35", "@typescript-eslint/eslint-plugin": "^6.9.0", "@typescript-eslint/parser": "^6.9.0", @@ -22,15 +22,17 @@ "eslint-plugin-functional": "^4.2.0", "eslint-plugin-import": "^2.29.0", "husky": "^0.14.3", - "jest": "^27.1.0", + "jest": "^29.7.0", "lerna": "^3.22.1", "lint-staged": "^10.5.4", "node-polyfill-webpack-plugin": "^1.0.3", + "@testing-library/react": "^12.0.7", + "jest-environment-jsdom": "^29.7.0", "npm-run-all": "^4.1.5", "prettier": "^2.2.1", "react": "^16.12.0", "react-dom": "^16.12.0", - "ts-jest": "^27.0.5", + "ts-jest": "^29.1.2", "ts-loader": "^8.0.18", "typescript": "^5.4.5", "webpack": "^5.27.2", diff --git a/yarn.lock b/yarn.lock index b3664272..d40988f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -31,6 +31,14 @@ dependencies: "@babel/highlight" "^7.18.6" +"@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" @@ -41,6 +49,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== +"@babel/compat-data@^7.23.5": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + "@babel/core@7.12.9": version "7.12.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" @@ -63,26 +76,26 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" - integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== +"@babel/core@^7.11.6", "@babel/core@^7.23.9": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-compilation-targets" "^7.21.4" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.4" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.4" - "@babel/types" "^7.21.4" - convert-source-map "^1.7.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" "@babel/core@^7.12.10", "@babel/core@^7.7.5": version "7.15.0" @@ -105,6 +118,27 @@ semver "^6.3.0" source-map "^0.5.0" +"@babel/core@^7.12.3": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" + integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-compilation-targets" "^7.21.4" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.4" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.4" + "@babel/types" "^7.21.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.15.0", "@babel/generator@^7.7.2": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" @@ -124,6 +158,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" @@ -160,6 +204,17 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz#c9a137a4d137b2d0e2c649acf536d7ba1a76c0f7" @@ -213,6 +268,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + "@babel/helper-explode-assignable-expression@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" @@ -237,6 +297,14 @@ "@babel/template" "^7.20.7" "@babel/types" "^7.21.0" +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + "@babel/helper-get-function-arity@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" @@ -258,6 +326,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-member-expression-to-functions@^7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" @@ -279,6 +354,13 @@ dependencies: "@babel/types" "^7.21.4" +"@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" @@ -307,6 +389,17 @@ "@babel/traverse" "^7.21.2" "@babel/types" "^7.21.2" +"@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-optimise-call-expression@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" @@ -324,6 +417,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== +"@babel/helper-plugin-utils@^7.24.0": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + "@babel/helper-remap-async-to-generator@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" @@ -357,6 +455,13 @@ dependencies: "@babel/types" "^7.20.2" +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" @@ -378,11 +483,23 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-string-parser@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": version "7.14.9" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" @@ -393,6 +510,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" @@ -403,6 +525,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + "@babel/helper-wrap-function@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" @@ -431,6 +558,15 @@ "@babel/traverse" "^7.21.0" "@babel/types" "^7.21.0" +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" @@ -449,6 +585,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.5", "@babel/parser@^7.15.0": version "7.15.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" @@ -459,6 +605,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== +"@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" @@ -713,6 +864,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -1238,7 +1396,16 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.15.0", "@babel/traverse@^7.7.2": +"@babel/template@^7.22.15", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== @@ -1269,6 +1436,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.14.9", "@babel/types@^7.15.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" @@ -1286,6 +1469,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1539,178 +1731,201 @@ js-yaml "^3.13.1" resolve-from "^5.0.0" -"@istanbuljs/schema@^0.1.2": +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" + jest-message-util "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" -"@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - emittery "^0.8.1" + ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" micromatch "^4.0.4" - rimraf "^3.0.0" + pretty-format "^29.7.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^27.5.1" + jest-mock "^29.7.0" -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" - glob "^7.1.2" + glob "^7.1.3" graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" + istanbul-lib-instrument "^6.0.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" slash "^3.0.0" - source-map "^0.6.0" string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== dependencies: + "@jridgewell/trace-mapping" "^0.3.18" callsites "^3.0.0" graceful-fs "^4.2.9" - source-map "^0.6.0" -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: - "@jest/test-result" "^27.5.1" + "@jest/test-result" "^29.7.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" + jest-haste-map "^29.7.0" + slash "^3.0.0" -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + write-file-atomic "^4.0.2" -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^16.0.0" + "@types/yargs" "^17.0.8" chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": @@ -1722,26 +1937,53 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + "@jridgewell/resolve-uri@3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + "@jridgewell/sourcemap-codec@1.4.14": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" @@ -2654,19 +2896,24 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^3.0.0" "@storybook/addon-actions@^6.3.7": version "6.3.7" @@ -3241,21 +3488,38 @@ resolve-from "^5.0.0" store2 "^2.12.0" -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@testing-library/dom@^8.0.0": + version "8.20.1" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" + integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" -"@types/babel__core@^7.0.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" - integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== +"@testing-library/react@^12.0.7": + version "12.1.5" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.5.tgz#bb248f72f02a5ac9d949dea07279095fa577963b" + integrity sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg== dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^8.0.0" + "@types/react-dom" "<18.0.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.1.14": version "7.1.15" @@ -3290,13 +3554,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/babel__traverse@^7.0.4": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== - dependencies: - "@babel/types" "^7.3.0" - "@types/base64-js@^1.2.5": version "1.3.0" resolved "https://registry.yarnpkg.com/@types/base64-js/-/base64-js-1.3.0.tgz#c939fdba49846861caf5a246b165dbf5698a317c" @@ -3382,10 +3639,10 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" @@ -3430,13 +3687,22 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.0.1": - version "27.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== +"@types/jest@^29.5.12": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": version "7.0.9" @@ -3546,11 +3812,6 @@ dependencies: "@types/node" "*" -"@types/prettier@^2.1.5": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" - integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== - "@types/pretty-hrtime@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601" @@ -3573,6 +3834,13 @@ dependencies: "@types/react" "*" +"@types/react-dom@<18.0.0": + version "17.0.25" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.25.tgz#e0e5b3571e1069625b3a3da2b279379aa33a0cb5" + integrity sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA== + dependencies: + "@types/react" "^17" + "@types/react-dom@^16.9.0": version "16.9.14" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.14.tgz#674b8f116645fe5266b40b525777fc6bb8eb3bcd" @@ -3605,11 +3873,25 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^17": + version "17.0.80" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.80.tgz#a5dfc351d6a41257eb592d73d3a85d3b7dbcbb41" + integrity sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "^0.16" + csstype "^3.0.2" + "@types/scheduler@*": version "0.16.2" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@types/scheduler@^0.16": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + "@types/semver@^7.3.12", "@types/semver@^7.5.0": version "7.5.8" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" @@ -3630,6 +3912,11 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + "@types/uglify-js@*": version "3.13.1" resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" @@ -3673,10 +3960,10 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== -"@types/yargs@^16.0.0": - version "16.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" - integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" @@ -4134,7 +4421,7 @@ JSONStream@^1.0.4, JSONStream@^1.3.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.3, abab@^2.0.5: +abab@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== @@ -4152,13 +4439,13 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" + acorn "^8.1.0" + acorn-walk "^8.0.2" acorn-import-assertions@^1.7.6: version "1.7.6" @@ -4179,36 +4466,36 @@ acorn-node@^1.3.0: acorn-walk "^7.0.0" xtend "^4.0.2" -acorn-walk@^7.0.0, acorn-walk@^7.1.1: +acorn-walk@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +acorn-walk@^8.0.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + acorn@^6.4.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.0.0, acorn@^7.1.1: +acorn@^7.0.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.1.0, acorn@^8.8.1, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== acorn@^8.4.1: version "8.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== -acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - address@1.1.2, address@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -4454,6 +4741,13 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -4469,7 +4763,7 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -array-buffer-byte-length@^1.0.1: +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== @@ -4805,16 +5099,15 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/transform" "^29.7.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" + babel-preset-jest "^29.6.3" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -4883,14 +5176,14 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" + "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.8.0: @@ -4980,12 +5273,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: - babel-plugin-jest-hoist "^27.5.1" + babel-plugin-jest-hoist "^29.6.3" babel-preset-current-node-syntax "^1.0.0" babel-runtime@^6.26.0: @@ -5202,11 +5495,6 @@ brotli@^1.2.0: dependencies: base64-js "^1.1.2" -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - browser-resolve@^1.8.1: version "1.11.3" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" @@ -5315,6 +5603,16 @@ browserslist@^4.21.3: node-releases "^2.0.8" update-browserslist-db "^1.0.10" +browserslist@^4.22.2: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -5596,6 +5894,11 @@ caniuse-lite@^1.0.30001449: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz#f58a717afe92f9e69d0e35ff64df596bfad93912" integrity sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ== +caniuse-lite@^1.0.30001587: + version "1.0.30001617" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz#809bc25f3f5027ceb33142a7d6c40759d7a901eb" + integrity sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA== + case-sensitive-paths-webpack-plugin@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -5849,6 +6152,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -6161,11 +6473,6 @@ conventional-recommended-bump@^5.0.0: meow "^4.0.0" q "^1.5.1" -convert-source-map@^1.4.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - convert-source-map@^1.5.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" @@ -6173,6 +6480,11 @@ convert-source-map@^1.5.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, dependencies: safe-buffer "~5.1.1" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -6323,6 +6635,19 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + create-react-context@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" @@ -6413,10 +6738,10 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== cssom@~0.3.6: version "0.3.8" @@ -6479,14 +6804,14 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" data-view-buffer@^1.0.1: version "1.0.1" @@ -6573,7 +6898,7 @@ decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decimal.js@^10.2.1: +decimal.js@^10.4.2: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== @@ -6588,6 +6913,11 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + deep-equal@^1.0.0, deep-equal@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" @@ -6600,6 +6930,30 @@ deep-equal@^1.0.0, deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -6787,10 +7141,10 @@ diff-js-xml@^1.0.6: underscore "^1.10.2" xml-js "^1.6.11" -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== diffie-hellman@^5.0.0: version "5.0.3" @@ -6866,6 +7220,11 @@ docx@^6.0.3: xml "^1.0.1" xml-js "^1.6.8" +dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -6902,12 +7261,12 @@ domelementtype@^2.0.1, domelementtype@^2.2.0: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== dependencies: - webidl-conversions "^5.0.0" + webidl-conversions "^7.0.0" domhandler@^4.0.0, domhandler@^4.2.0: version "4.2.0" @@ -7041,6 +7400,11 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.371.tgz#393983ef087268a20c926a89be30e9f0bfc803b0" integrity sha512-jlBzY4tFcJaiUjzhRTCWAqRvTO/fWzjA3Bls0mykzGZ7zvcMP7h05W6UcgzfT9Ca1SW2xyKDOFRyI0pQeRNZGw== +electron-to-chromium@^1.4.668: + version "1.4.763" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz#64f2041ed496fd6fc710b9be806fe91da9334f91" + integrity sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ== + element-resize-detector@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.3.tgz#5078d9b99398fe4c589f8c8df94ff99e5d413ff3" @@ -7061,10 +7425,10 @@ elliptic@^6.5.3: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^7.0.1: version "7.0.3" @@ -7147,6 +7511,11 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -7377,6 +7746,21 @@ es-get-iterator@^1.0.2: is-string "^1.0.5" isarray "^2.0.5" +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + es-module-lexer@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" @@ -7503,6 +7887,11 @@ escalade@^3.0.2, escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -7861,15 +8250,16 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" express@^4.17.1: version "4.17.1" @@ -8011,7 +8401,7 @@ fast-json-parse@^1.0.3: resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw== -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -8322,6 +8712,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -8526,7 +8925,7 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -8731,18 +9130,6 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.2: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-modules@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -9179,12 +9566,12 @@ html-element-map@^1.2.0: array.prototype.filter "^1.0.0" call-bind "^1.0.2" -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== dependencies: - whatwg-encoding "^1.0.5" + whatwg-encoding "^2.0.0" html-entities@^1.2.0, html-entities@^1.2.1, html-entities@^1.3.1: version "1.4.0" @@ -9294,12 +9681,12 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: - "@tootallnate/once" "1" + "@tootallnate/once" "2" agent-base "6" debug "4" @@ -9344,7 +9731,7 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^5.0.0: +https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -9385,7 +9772,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: +iconv-lite@0.6.3, iconv-lite@^0.6.2: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -9583,7 +9970,7 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -internal-slot@^1.0.7: +internal-slot@^1.0.4, internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== @@ -9651,7 +10038,7 @@ is-alphanumerical@^1.0.0: is-alphabetical "^1.0.0" is-decimal "^1.0.0" -is-arguments@^1.0.4, is-arguments@^1.1.0: +is-arguments@^1.0.4, is-arguments@^1.1.0, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== @@ -9659,7 +10046,7 @@ is-arguments@^1.0.4, is-arguments@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-array-buffer@^3.0.4: +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== @@ -9770,7 +10157,7 @@ is-data-view@^1.0.1: dependencies: is-typed-array "^1.1.13" -is-date-object@^1.0.1: +is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -9917,6 +10304,11 @@ is-map@^2.0.2: resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + is-nan@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" @@ -10043,6 +10435,11 @@ is-set@^2.0.2: resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" @@ -10111,7 +10508,7 @@ is-typed-array@^1.1.3, is-typed-array@^1.1.6: foreach "^2.0.5" has-tostringtag "^1.0.0" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== @@ -10126,6 +10523,11 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -10133,6 +10535,14 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -10212,7 +10622,7 @@ istanbul-lib-coverage@^3.2.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: +istanbul-lib-instrument@^5.0.4: version "5.2.1" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== @@ -10223,6 +10633,17 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: istanbul-lib-coverage "^3.2.0" semver "^6.3.0" +istanbul-lib-instrument@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -10270,391 +10691,356 @@ iterate-value@^1.0.2: es-get-iterator "^1.0.2" iterate-iterator "^1.0.1" -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== dependencies: - "@jest/types" "^27.5.1" execa "^5.0.0" - throat "^6.0.1" + jest-util "^29.7.0" + p-limit "^3.1.0" -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" + dedent "^1.0.0" is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" slash "^3.0.0" stack-utils "^2.0.3" - throat "^6.0.1" -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" chalk "^4.0.0" + create-jest "^29.7.0" exit "^0.1.2" - graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" - glob "^7.1.1" + glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^27.5.1" + pretty-format "^29.7.0" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" + jest-mock "^29.7.0" + jest-util "^29.7.0" -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" micromatch "^4.0.4" - walker "^1.0.7" + walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^27.5.1" + pretty-format "^29.7.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/node" "*" + jest-util "^29.7.0" jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" -jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== dependencies: - "@jest/types" "^27.5.1" chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" + jest-haste-map "^29.7.0" jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-util "^29.7.0" + jest-validate "^29.7.0" resolve "^1.20.0" - resolve.exports "^1.1.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - emittery "^0.8.1" + emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - execa "^5.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" + "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.5.1" + expect "^29.7.0" graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" + pretty-format "^29.7.0" + semver "^7.5.3" -jest-util@^27.0.0, jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== +jest-util@^29.0.0, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^27.5.1" + jest-get-type "^29.6.3" leven "^3.1.0" - pretty-format "^27.5.1" + pretty-format "^29.7.0" -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.5.1" + emittery "^0.13.1" + jest-util "^29.7.0" string-length "^4.0.1" jest-worker@^26.5.0: @@ -10675,23 +11061,25 @@ jest-worker@^27.0.2: merge-stream "^2.0.0" supports-color "^8.0.0" -jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" + jest-util "^29.7.0" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.1.0: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== +jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== dependencies: - "@jest/core" "^27.5.1" + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" import-local "^3.0.2" - jest-cli "^27.5.1" + jest-cli "^29.7.0" js-string-escape@^1.0.1: version "1.0.1" @@ -10723,38 +11111,37 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" jsesc@^2.5.1: version "2.5.2" @@ -10801,11 +11188,6 @@ json3@^3.3.3: resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== -json5@2.x, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -10827,6 +11209,11 @@ json5@^2.1.2, json5@^2.1.3: dependencies: minimist "^1.2.5" +json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -11217,7 +11604,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.2.1, lodash@^4.7.0: +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.2.1: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -11289,6 +11676,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + macos-release@^2.2.0: version "2.5.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2" @@ -11667,7 +12059,7 @@ minimatch@9.0.3: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -12083,6 +12475,11 @@ node-releases@^1.1.61, node-releases@^1.1.75: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + node-releases@^2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" @@ -12253,10 +12650,10 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nwsapi@^2.2.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.4.tgz#fd59d5e904e8e1f03c25a7d5a15cfa16c714a1e5" - integrity sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g== +nwsapi@^2.2.2: + version "2.2.10" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.10.tgz#0b77a68e21a0b483db70b11fad055906e867cda8" + integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ== oauth-sign@~0.9.0: version "0.9.0" @@ -12295,6 +12692,14 @@ object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2: call-bind "^1.0.2" define-properties "^1.1.3" +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -12317,7 +12722,7 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.assign@^4.1.5: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -12804,11 +13209,18 @@ parse5-htmlparser2-tree-adapter@^6.0.1: dependencies: parse5 "^6.0.1" -parse5@6.0.1, parse5@^6.0.0, parse5@^6.0.1: +parse5@^6.0.0, parse5@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -13171,7 +13583,7 @@ pretty-error@^2.1.1: lodash "^4.17.20" renderkid "^2.0.4" -pretty-format@^27.0.0, pretty-format@^27.5.1: +pretty-format@^27.0.2: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== @@ -13180,6 +13592,15 @@ pretty-format@^27.0.0, pretty-format@^27.5.1: ansi-styles "^5.0.0" react-is "^17.0.1" +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -13374,6 +13795,11 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -13627,6 +14053,11 @@ react-is@^17.0.1, react-is@^17.0.2: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -13934,7 +14365,7 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" -regexp.prototype.flags@^1.5.2: +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== @@ -14160,10 +14591,10 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@1.1.7: version "1.1.7" @@ -14337,10 +14768,10 @@ sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== dependencies: xmlchars "^2.2.0" @@ -14428,13 +14859,6 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.x, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -14445,6 +14869,13 @@ semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@^7.3.7, semver@^7.5.4: version "7.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" @@ -14452,6 +14883,11 @@ semver@^7.3.7, semver@^7.5.4: dependencies: lru-cache "^6.0.0" +semver@^7.5.3: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -14651,6 +15087,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -14784,18 +15225,18 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== +source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.19: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -15015,6 +15456,13 @@ static-module@^3.0.2: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + store2@^2.12.0: version "2.12.0" resolved "https://registry.yarnpkg.com/store2/-/store2-2.12.0.tgz#e1f1b7e1a59b6083b2596a8d067f6ee88fd4d3cf" @@ -15123,6 +15571,15 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + "string.prototype.matchall@^4.0.0 || ^3.0.1": version "4.0.5" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" @@ -15374,14 +15831,6 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -15480,14 +15929,6 @@ term-size@^2.1.0: resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - terser-webpack-plugin@^1.4.3: version "1.4.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" @@ -15581,11 +16022,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - throttle-debounce@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" @@ -15700,10 +16136,10 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== +tough-cookie@^4.1.2: + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" punycode "^2.1.1" @@ -15725,10 +16161,10 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== dependencies: punycode "^2.1.1" @@ -15787,19 +16223,19 @@ ts-exhaustive-check@^1.0.0: resolved "https://registry.yarnpkg.com/ts-exhaustive-check/-/ts-exhaustive-check-1.0.0.tgz#8048c81eccd3b4da45ebd10f01529ad0be7924c7" integrity sha1-gEjIHszTtNpF69EPAVKa0L55JMc= -ts-jest@^27.0.5: - version "27.1.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.5.tgz#0ddf1b163fbaae3d5b7504a1e65c914a95cff297" - integrity sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA== +ts-jest@^29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" + integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" lodash.memoize "4.x" make-error "1.x" - semver "7.x" - yargs-parser "20.x" + semver "^7.5.3" + yargs-parser "^21.0.1" ts-loader@^8.0.18: version "8.3.0" @@ -15977,13 +16413,6 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -16297,6 +16726,14 @@ update-browserslist-db@^1.0.10: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.0.13: + version "1.0.15" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" + integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -16438,14 +16875,14 @@ v8-to-istanbul@^8.0.0: convert-source-map "^1.6.0" source-map "^0.7.3" -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== dependencies: + "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" + convert-source-map "^2.0.0" validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: version "3.0.4" @@ -16526,21 +16963,14 @@ vm-browserify@^1.0.1, vm-browserify@^1.1.2: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== dependencies: - xml-name-validator "^3.0.0" + xml-name-validator "^4.0.0" -walker@^1.0.7: +walker@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== @@ -16604,15 +17034,10 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== webpack-cli@^4.5.0: version "4.8.0" @@ -16807,17 +17232,25 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== dependencies: - iconv-lite "0.4.24" + iconv-lite "0.6.3" -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" whatwg-url@^7.0.0: version "7.1.0" @@ -16828,15 +17261,6 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -16848,12 +17272,22 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-collection@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which-typed-array@^1.1.14, which-typed-array@^1.1.15: +which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15: version "1.1.15" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== @@ -16986,15 +17420,13 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" + signal-exit "^3.0.7" write-json-file@^2.2.0: version "2.3.0" @@ -17035,10 +17467,10 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== +ws@^8.11.0: + version "8.17.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea" + integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== x-is-string@^0.1.0: version "0.1.0" @@ -17052,10 +17484,10 @@ xml-js@^1.6.11, xml-js@^1.6.8: dependencies: sax "^1.2.4" -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== xml@^1.0.1: version "1.0.1" @@ -17097,11 +17529,6 @@ yaml@^1.10.0, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.7: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -17118,6 +17545,16 @@ yargs-parser@^15.0.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.7: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -17164,6 +17601,19 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"