@excalidraw/excalidraw 0.17.1-d2f67e6 → 0.17.1-e63dd02
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/browser/dev/excalidraw-assets-dev/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
- package/dist/browser/dev/excalidraw-assets-dev/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
- package/dist/browser/dev/excalidraw-assets-dev/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
- package/dist/browser/dev/excalidraw-assets-dev/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
- package/dist/browser/dev/excalidraw-assets-dev/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-EM6LVGFW.js → chunk-IT7T3AIK.js} +23 -5
- package/dist/browser/dev/excalidraw-assets-dev/chunk-IT7T3AIK.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{chunk-B4UMSLQQ.js → chunk-RNHSD5AR.js} +7451 -2098
- package/dist/browser/dev/excalidraw-assets-dev/chunk-RNHSD5AR.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{dist-6QVAH5JA.js → dist-DNSPZDOZ.js} +31 -19
- package/dist/browser/dev/excalidraw-assets-dev/dist-DNSPZDOZ.js.map +7 -0
- package/dist/browser/dev/excalidraw-assets-dev/{en-AZFA5HJJ.js → en-XV7OZCPP.js} +6 -2
- package/dist/browser/dev/excalidraw-assets-dev/{image-V7E6IT6R.js → image-77HZYGLG.js} +2 -2
- package/dist/browser/dev/excalidraw-assets-dev/{image-O66MQ7WQ.css → image-WDHYGKKP.css} +1 -1
- package/dist/browser/dev/excalidraw-assets-dev/{image-O66MQ7WQ.css.map → image-WDHYGKKP.css.map} +2 -2
- package/dist/browser/dev/index.css +449 -114
- package/dist/browser/dev/index.css.map +3 -3
- package/dist/browser/dev/index.js +4143 -5956
- package/dist/browser/dev/index.js.map +4 -4
- package/dist/browser/prod/excalidraw-assets/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
- package/dist/browser/prod/excalidraw-assets/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
- package/dist/browser/prod/excalidraw-assets/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
- package/dist/browser/prod/excalidraw-assets/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
- package/dist/browser/prod/excalidraw-assets/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
- package/dist/browser/prod/excalidraw-assets/chunk-OYEADJSR.js +63 -0
- package/dist/browser/prod/excalidraw-assets/{chunk-7DXALCB2.js → chunk-PDYFZJMS.js} +3 -3
- package/dist/browser/prod/excalidraw-assets/dist-NLUQPPQQ.js +7 -0
- package/dist/browser/prod/excalidraw-assets/en-YVAVVILW.js +1 -0
- package/dist/browser/prod/excalidraw-assets/image-X3GFZHNN.js +1 -0
- package/dist/browser/prod/index.css +1 -1
- package/dist/browser/prod/index.js +40 -50
- package/dist/dev/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
- package/dist/dev/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
- package/dist/dev/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
- package/dist/dev/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
- package/dist/dev/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
- package/dist/dev/{en-EB2MBPAV.json → en-YNVBSAIL.json} +18 -4
- package/dist/dev/index.css +449 -114
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +21626 -18122
- package/dist/dev/index.js.map +4 -4
- package/dist/excalidraw/actions/actionAddToLibrary.d.ts +9 -3
- package/dist/excalidraw/actions/actionBoundText.d.ts +6 -2
- package/dist/excalidraw/actions/actionCanvas.d.ts +36 -12
- package/dist/excalidraw/actions/actionClipboard.d.ts +22 -7
- package/dist/excalidraw/actions/actionDeleteSelected.d.ts +12 -5
- package/dist/excalidraw/actions/actionDeleteSelected.js +24 -5
- package/dist/excalidraw/actions/actionDuplicateSelection.js +1 -2
- package/dist/excalidraw/actions/actionElementLock.d.ts +6 -2
- package/dist/excalidraw/actions/actionExport.d.ts +27 -9
- package/dist/excalidraw/actions/actionFinalize.d.ts +6 -2
- package/dist/excalidraw/actions/actionFinalize.js +2 -2
- package/dist/excalidraw/actions/actionFlip.js +2 -2
- package/dist/excalidraw/actions/actionFrame.d.ts +12 -4
- package/dist/excalidraw/actions/actionGroup.d.ts +6 -2
- package/dist/excalidraw/actions/actionHistory.js +4 -4
- package/dist/excalidraw/actions/actionLinearEditor.d.ts +3 -1
- package/dist/excalidraw/actions/actionLinearEditor.js +3 -2
- package/dist/excalidraw/actions/actionLink.d.ts +3 -1
- package/dist/excalidraw/actions/actionMenu.d.ts +9 -3
- package/dist/excalidraw/actions/actionNavigate.d.ts +6 -2
- package/dist/excalidraw/actions/actionProperties.d.ts +411 -56
- package/dist/excalidraw/actions/actionProperties.js +383 -58
- package/dist/excalidraw/actions/actionSelectAll.d.ts +3 -1
- package/dist/excalidraw/actions/actionStyles.d.ts +3 -1
- package/dist/excalidraw/actions/actionStyles.js +3 -2
- package/dist/excalidraw/actions/actionToggleGridMode.d.ts +3 -1
- package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +3 -1
- package/dist/excalidraw/actions/actionToggleStats.d.ts +3 -1
- package/dist/excalidraw/actions/actionToggleViewMode.d.ts +3 -1
- package/dist/excalidraw/actions/actionToggleZenMode.d.ts +3 -1
- package/dist/excalidraw/actions/types.d.ts +1 -1
- package/dist/excalidraw/analytics.js +9 -7
- package/dist/excalidraw/appState.d.ts +1 -0
- package/dist/excalidraw/appState.js +9 -1
- package/dist/excalidraw/binaryheap.d.ts +12 -0
- package/dist/excalidraw/binaryheap.js +93 -0
- package/dist/excalidraw/change.d.ts +2 -1
- package/dist/excalidraw/change.js +6 -4
- package/dist/excalidraw/charts.js +0 -10
- package/dist/excalidraw/components/Actions.js +7 -5
- package/dist/excalidraw/components/App.d.ts +5 -9
- package/dist/excalidraw/components/App.js +218 -161
- package/dist/excalidraw/components/ButtonIcon.d.ts +15 -0
- package/dist/excalidraw/components/ButtonIcon.js +8 -0
- package/dist/excalidraw/components/ButtonIconSelect.js +2 -3
- package/dist/excalidraw/components/ButtonSeparator.d.ts +2 -0
- package/dist/excalidraw/components/ButtonSeparator.js +7 -0
- package/dist/excalidraw/components/ColorPicker/ColorPicker.js +47 -79
- package/dist/excalidraw/components/ColorPicker/Picker.js +1 -1
- package/dist/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
- package/dist/excalidraw/components/FontPicker/FontPicker.js +49 -0
- package/dist/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -0
- package/dist/excalidraw/components/FontPicker/FontPickerList.js +119 -0
- package/dist/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +7 -0
- package/dist/excalidraw/components/FontPicker/FontPickerTrigger.js +13 -0
- package/dist/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -0
- package/dist/excalidraw/components/FontPicker/keyboardNavHandlers.js +38 -0
- package/dist/excalidraw/components/HelpDialog.js +1 -1
- package/dist/excalidraw/components/HintViewer.js +6 -3
- package/dist/excalidraw/components/PropertiesPopover.d.ts +15 -0
- package/dist/excalidraw/components/PropertiesPopover.js +31 -0
- package/dist/excalidraw/components/QuickSearch.d.ts +9 -0
- package/dist/excalidraw/components/QuickSearch.js +8 -0
- package/dist/excalidraw/components/ScrollableList.d.ts +9 -0
- package/dist/excalidraw/components/ScrollableList.js +8 -0
- package/dist/excalidraw/components/Stats/Angle.d.ts +7 -3
- package/dist/excalidraw/components/Stats/Angle.js +39 -31
- package/dist/excalidraw/components/Stats/Dimension.d.ts +6 -3
- package/dist/excalidraw/components/Stats/Dimension.js +51 -49
- package/dist/excalidraw/components/Stats/DragInput.d.ts +15 -6
- package/dist/excalidraw/components/Stats/DragInput.js +59 -26
- package/dist/excalidraw/components/Stats/FontSize.d.ts +8 -4
- package/dist/excalidraw/components/Stats/FontSize.js +39 -36
- package/dist/excalidraw/components/Stats/MultiAngle.d.ts +5 -3
- package/dist/excalidraw/components/Stats/MultiAngle.js +43 -34
- package/dist/excalidraw/components/Stats/MultiDimension.d.ts +5 -3
- package/dist/excalidraw/components/Stats/MultiDimension.js +101 -99
- package/dist/excalidraw/components/Stats/MultiFontSize.d.ts +6 -3
- package/dist/excalidraw/components/Stats/MultiFontSize.js +47 -32
- package/dist/excalidraw/components/Stats/MultiPosition.d.ts +3 -1
- package/dist/excalidraw/components/Stats/MultiPosition.js +52 -48
- package/dist/excalidraw/components/Stats/Position.d.ts +5 -1
- package/dist/excalidraw/components/Stats/Position.js +31 -29
- package/dist/excalidraw/components/Stats/index.js +5 -17
- package/dist/excalidraw/components/Stats/utils.d.ts +14 -3
- package/dist/excalidraw/components/Stats/utils.js +48 -9
- package/dist/excalidraw/components/TTDDialog/common.d.ts +2 -2
- package/dist/excalidraw/components/TTDDialog/common.js +3 -7
- package/dist/excalidraw/components/UserList.js +22 -22
- package/dist/excalidraw/components/canvases/StaticCanvas.js +1 -0
- package/dist/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +12 -3
- package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +24 -4
- package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +55 -14
- package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +2 -1
- package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContent.js +2 -2
- package/dist/excalidraw/components/dropdownMenu/common.d.ts +1 -1
- package/dist/excalidraw/components/dropdownMenu/common.js +3 -2
- package/dist/excalidraw/components/icons.d.ts +4 -0
- package/dist/excalidraw/components/icons.js +7 -0
- package/dist/excalidraw/components/main-menu/MainMenu.d.ts +12 -3
- package/dist/excalidraw/components/welcome-screen/WelcomeScreen.Center.js +2 -2
- package/dist/excalidraw/components/welcome-screen/WelcomeScreen.Hints.js +3 -3
- package/dist/excalidraw/constants.d.ts +17 -2
- package/dist/excalidraw/constants.js +21 -4
- package/dist/excalidraw/data/reconcile.js +18 -1
- package/dist/excalidraw/data/restore.js +55 -9
- package/dist/excalidraw/data/transform.js +8 -5
- package/dist/excalidraw/element/binding.d.ts +28 -9
- package/dist/excalidraw/element/binding.js +303 -71
- package/dist/excalidraw/element/collision.d.ts +1 -1
- package/dist/excalidraw/element/collision.js +4 -1
- package/dist/excalidraw/element/dragElements.d.ts +2 -2
- package/dist/excalidraw/element/dragElements.js +13 -3
- package/dist/excalidraw/element/embeddable.d.ts +3 -1
- package/dist/excalidraw/element/heading.d.ts +11 -0
- package/dist/excalidraw/element/heading.js +81 -0
- package/dist/excalidraw/element/index.d.ts +1 -1
- package/dist/excalidraw/element/index.js +1 -1
- package/dist/excalidraw/element/linearElementEditor.d.ts +21 -13
- package/dist/excalidraw/element/linearElementEditor.js +133 -56
- package/dist/excalidraw/element/newElement.d.ts +8 -3
- package/dist/excalidraw/element/newElement.js +15 -2
- package/dist/excalidraw/element/resizeElements.d.ts +4 -3
- package/dist/excalidraw/element/resizeElements.js +47 -23
- package/dist/excalidraw/element/routing.d.ts +13 -0
- package/dist/excalidraw/element/routing.js +641 -0
- package/dist/excalidraw/element/textElement.d.ts +3 -26
- package/dist/excalidraw/element/textElement.js +54 -110
- package/dist/excalidraw/element/textWysiwyg.js +39 -47
- package/dist/excalidraw/element/transformHandles.js +7 -2
- package/dist/excalidraw/element/typeChecks.d.ts +5 -2
- package/dist/excalidraw/element/typeChecks.js +17 -0
- package/dist/excalidraw/element/types.d.ts +12 -1
- package/dist/excalidraw/fonts/ExcalidrawFont.d.ts +21 -0
- package/dist/excalidraw/fonts/ExcalidrawFont.js +112 -0
- package/dist/excalidraw/fonts/index.d.ts +58 -0
- package/dist/excalidraw/fonts/index.js +240 -0
- package/dist/excalidraw/fonts/metadata.d.ts +36 -0
- package/dist/excalidraw/fonts/metadata.js +91 -0
- package/dist/excalidraw/fractionalIndex.d.ts +11 -4
- package/dist/excalidraw/fractionalIndex.js +38 -6
- package/dist/excalidraw/frame.d.ts +1 -1
- package/dist/excalidraw/frame.js +3 -3
- package/dist/excalidraw/history.d.ts +4 -3
- package/dist/excalidraw/history.js +8 -8
- package/dist/excalidraw/index.d.ts +1 -1
- package/dist/excalidraw/index.js +3 -3
- package/dist/excalidraw/locales/en.json +18 -4
- package/dist/excalidraw/math.d.ts +43 -0
- package/dist/excalidraw/math.js +110 -0
- package/dist/excalidraw/mermaid.js +4 -3
- package/dist/excalidraw/renderer/interactiveScene.js +33 -17
- package/dist/excalidraw/renderer/renderElement.d.ts +2 -0
- package/dist/excalidraw/renderer/renderElement.js +74 -54
- package/dist/excalidraw/renderer/staticSvgScene.js +2 -1
- package/dist/excalidraw/scene/Scene.js +9 -3
- package/dist/excalidraw/scene/Shape.js +56 -5
- package/dist/excalidraw/scene/comparisons.d.ts +1 -0
- package/dist/excalidraw/scene/comparisons.js +1 -1
- package/dist/excalidraw/scene/export.d.ts +2 -1
- package/dist/excalidraw/scene/export.js +33 -35
- package/dist/excalidraw/scene/types.d.ts +1 -4
- package/dist/excalidraw/shapes.d.ts +8 -0
- package/dist/excalidraw/shapes.js +57 -0
- package/dist/excalidraw/types.d.ts +8 -3
- package/dist/excalidraw/utils.d.ts +11 -1
- package/dist/excalidraw/utils.js +22 -0
- package/dist/prod/CascadiaCode-Regular-TMZI7IJ5.woff2 +0 -0
- package/dist/prod/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
- package/dist/prod/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
- package/dist/prod/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
- package/dist/prod/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
- package/dist/prod/{en-EB2MBPAV.json → en-YNVBSAIL.json} +18 -4
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +49 -53
- package/dist/utils/export.d.ts +2 -1
- package/dist/utils/export.js +2 -1
- package/dist/utils/geometry/geometry.d.ts +2 -1
- package/dist/utils/geometry/geometry.js +5 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/history.ts +9 -2
- package/package.json +2 -2
- package/dist/browser/dev/Cascadia-CYPE3OJC.woff2 +0 -0
- package/dist/browser/dev/Virgil-UZN6MUT6.woff2 +0 -0
- package/dist/browser/dev/excalidraw-assets-dev/chunk-B4UMSLQQ.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/chunk-EM6LVGFW.js.map +0 -7
- package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +0 -7
- package/dist/browser/prod/Cascadia-CYPE3OJC.woff2 +0 -0
- package/dist/browser/prod/Virgil-UZN6MUT6.woff2 +0 -0
- package/dist/browser/prod/excalidraw-assets/chunk-EGOLGOLD.js +0 -55
- package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +0 -7
- package/dist/browser/prod/excalidraw-assets/en-6E7MYLWO.js +0 -1
- package/dist/browser/prod/excalidraw-assets/image-SI7BKULC.js +0 -1
- package/dist/dev/Cascadia-CYPE3OJC.woff2 +0 -0
- package/dist/dev/Virgil-UZN6MUT6.woff2 +0 -0
- package/dist/excalidraw/scene/Fonts.d.ts +0 -19
- package/dist/excalidraw/scene/Fonts.js +0 -66
- package/dist/prod/Cascadia-CYPE3OJC.woff2 +0 -0
- package/dist/prod/Virgil-UZN6MUT6.woff2 +0 -0
- /package/dist/browser/dev/{Assistant-Bold-ZDZZ6JHA.woff2 → excalidraw-assets-dev/Assistant-Bold-ZDZZ6JHA.woff2} +0 -0
- /package/dist/browser/dev/{Assistant-Medium-DZ25RZU3.woff2 → excalidraw-assets-dev/Assistant-Medium-DZ25RZU3.woff2} +0 -0
- /package/dist/browser/dev/{Assistant-Regular-PLF2XOGW.woff2 → excalidraw-assets-dev/Assistant-Regular-PLF2XOGW.woff2} +0 -0
- /package/dist/browser/dev/{Assistant-SemiBold-CZ5MX6FK.woff2 → excalidraw-assets-dev/Assistant-SemiBold-CZ5MX6FK.woff2} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{en-AZFA5HJJ.js.map → en-XV7OZCPP.js.map} +0 -0
- /package/dist/browser/dev/excalidraw-assets-dev/{image-V7E6IT6R.js.map → image-77HZYGLG.js.map} +0 -0
- /package/dist/browser/prod/{Assistant-Bold-ZDZZ6JHA.woff2 → excalidraw-assets/Assistant-Bold-ZDZZ6JHA.woff2} +0 -0
- /package/dist/browser/prod/{Assistant-Medium-DZ25RZU3.woff2 → excalidraw-assets/Assistant-Medium-DZ25RZU3.woff2} +0 -0
- /package/dist/browser/prod/{Assistant-Regular-PLF2XOGW.woff2 → excalidraw-assets/Assistant-Regular-PLF2XOGW.woff2} +0 -0
- /package/dist/browser/prod/{Assistant-SemiBold-CZ5MX6FK.woff2 → excalidraw-assets/Assistant-SemiBold-CZ5MX6FK.woff2} +0 -0
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import{a as g,b as v}from"./chunk-M2JW2GFW.js";import{d as ie,f as Mr}from"./chunk-SXMPUQ6M.js";var pa=ie(fa=>{g();var Ul;(function(e){typeof DO_NOT_EXPORT_CRC>"u"?typeof fa=="object"?e(fa):typeof define=="function"&&define.amd?define(function(){var t={};return e(t),t}):e(Ul={}):e(Ul={})})(function(e){e.version="0.3.0";function t(){for(var c=0,l=new Array(256),d=0;d!=256;++d)c=d,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,l[d]=c;return typeof Int32Array<"u"?new Int32Array(l):l}var n=t(),r=typeof Buffer<"u";function o(c){if(c.length>32768&&r)return a(new Buffer(c));for(var l=-1,d=c.length-1,u=0;u<d;)l=n[(l^c.charCodeAt(u++))&255]^l>>>8,l=n[(l^c.charCodeAt(u++))&255]^l>>>8;return u===d&&(l=l>>>8^n[(l^c.charCodeAt(u))&255]),l^-1}function i(c){if(c.length>1e4)return a(c);for(var l=-1,d=0,u=c.length-3;d<u;)l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255];for(;d<u+3;)l=l>>>8^n[(l^c[d++])&255];return l^-1}function a(c){for(var l=-1,d=0,u=c.length-7;d<u;)l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255];for(;d<u+7;)l=l>>>8^n[(l^c[d++])&255];return l^-1}function s(c){for(var l=-1,d=0,u=c.length,f,p;d<u;)f=c.charCodeAt(d++),f<128?l=l>>>8^n[(l^f)&255]:f<2048?(l=l>>>8^n[(l^(192|f>>6&31))&255],l=l>>>8^n[(l^(128|f&63))&255]):f>=55296&&f<57344?(f=(f&1023)+64,p=c.charCodeAt(d++)&1023,l=l>>>8^n[(l^(240|f>>8&7))&255],l=l>>>8^n[(l^(128|f>>2&63))&255],l=l>>>8^n[(l^(128|p>>6&15|f&3))&255],l=l>>>8^n[(l^(128|p&63))&255]):(l=l>>>8^n[(l^(224|f>>12&15))&255],l=l>>>8^n[(l^(128|f>>6&63))&255],l=l>>>8^n[(l^(128|f&63))&255]);return l^-1}e.table=n,e.bstr=o,e.buf=i,e.str=s})});var $l=ie((Q0,Vl)=>{g();var Xm=pa();Vl.exports=jm;var ht=new Uint8Array(4),Zm=new Int32Array(ht.buffer),Km=new Uint32Array(ht.buffer);function jm(e){if(e[0]!==137)throw new Error("Invalid .png file header");if(e[1]!==80)throw new Error("Invalid .png file header");if(e[2]!==78)throw new Error("Invalid .png file header");if(e[3]!==71)throw new Error("Invalid .png file header");if(e[4]!==13)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[5]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[6]!==26)throw new Error("Invalid .png file header");if(e[7]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");for(var t=!1,n=[],r=8;r<e.length;){ht[3]=e[r++],ht[2]=e[r++],ht[1]=e[r++],ht[0]=e[r++];var o=Km[0]+4,i=new Uint8Array(o);i[0]=e[r++],i[1]=e[r++],i[2]=e[r++],i[3]=e[r++];var a=String.fromCharCode(i[0])+String.fromCharCode(i[1])+String.fromCharCode(i[2])+String.fromCharCode(i[3]);if(!n.length&&a!=="IHDR")throw new Error("IHDR header missing");if(a==="IEND"){t=!0,n.push({name:a,data:new Uint8Array(0)});break}for(var s=4;s<o;s++)i[s]=e[r++];ht[3]=e[r++],ht[2]=e[r++],ht[1]=e[r++],ht[0]=e[r++];var c=Zm[0],l=Xm.buf(i);if(l!==c)throw new Error("CRC values for "+a+" header do not match, PNG file is likely corrupted");var d=new Uint8Array(i.buffer.slice(4));n.push({name:a,data:d})}if(!t)throw new Error(".png file ended prematurely: no IEND header was found");return n}});var Wl=ie((ty,Yl)=>{g();Yl.exports=qm;function qm(e,t){if(e=String(e),t=String(t),!/^[\x00-\xFF]+$/.test(e)||!/^[\x00-\xFF]+$/.test(t))throw new Error("Only Latin-1 characters are permitted in PNG tEXt chunks. You might want to consider base64 encoding and/or zEXt compression");if(e.length>=80)throw new Error('Keyword "'+e+'" is longer than the 79-character limit imposed by the PNG specification');for(var n=e.length+t.length+1,r=new Uint8Array(n),o=0,i,a=0;a<e.length;a++){if(!(i=e.charCodeAt(a)))throw new Error("0x00 character is not permitted in tEXt keywords");r[o++]=i}r[o++]=0;for(var s=0;s<t.length;s++){if(!(i=t.charCodeAt(s)))throw new Error("0x00 character is not permitted in tEXt content");r[o++]=i}return{name:"tEXt",data:r}}});var Zl=ie((ry,Xl)=>{g();Xl.exports=Jm;function Jm(e){e.data&&e.name&&(e=e.data);for(var t=!0,n="",r="",o=0;o<e.length;o++){var i=e[o];if(t)i?r+=String.fromCharCode(i):t=!1;else if(i)n+=String.fromCharCode(i);else throw new Error("Invalid NULL character found. 0x00 character is not permitted in tEXt content")}return{keyword:r,text:n}}});var Kl=ie(ma=>{g();ma.encode=Wl();ma.decode=Zl()});var ql=ie((sy,jl)=>{g();jl.exports=function(e,t,n){var r=[],o=e.length;if(o===0)return r;var i=t<0?Math.max(0,t+o):t||0;for(n!==void 0&&(o=n<0?n+o:n);o-- >i;)r[o-i]=e[o];return r}});var Ql=ie((cy,Jl)=>{g();var Qm=ql(),eh=pa();Jl.exports=rh;var Et=new Uint8Array(4),th=new Int32Array(Et.buffer),nh=new Uint32Array(Et.buffer);function rh(e){var t=8,n=t,r;for(r=0;r<e.length;r++)t+=e[r].data.length,t+=12;var o=new Uint8Array(t);for(o[0]=137,o[1]=80,o[2]=78,o[3]=71,o[4]=13,o[5]=10,o[6]=26,o[7]=10,r=0;r<e.length;r++){var i=e[r],a=i.name,s=i.data,c=s.length,l=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)];nh[0]=c,o[n++]=Et[3],o[n++]=Et[2],o[n++]=Et[1],o[n++]=Et[0],o[n++]=l[0],o[n++]=l[1],o[n++]=l[2],o[n++]=l[3];for(var d=0;d<c;)o[n++]=s[d++];var u=l.concat(Qm(s)),f=eh.buf(u);th[0]=f,o[n++]=Et[3],o[n++]=Et[2],o[n++]=Et[1],o[n++]=Et[0]}return o}});var Ft=ie(Te=>{"use strict";g();var oh=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function ih(e,t){return Object.prototype.hasOwnProperty.call(e,t)}Te.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var r in n)ih(n,r)&&(e[r]=n[r])}}return e};Te.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var ah={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),o);return}for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)i=e[t],a.set(i,o),o+=i.length;return a}},sh={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};Te.setTyped=function(e){e?(Te.Buf8=Uint8Array,Te.Buf16=Uint16Array,Te.Buf32=Int32Array,Te.assign(Te,ah)):(Te.Buf8=Array,Te.Buf16=Array,Te.Buf32=Array,Te.assign(Te,sh))};Te.setTyped(oh)});var vc=ie(qn=>{"use strict";g();var lh=Ft(),ch=4,ec=0,tc=1,dh=2;function jn(e){for(var t=e.length;--t>=0;)e[t]=0}var uh=0,sc=1,fh=2,ph=3,mh=258,ba=29,Rr=256,Cr=Rr+1+ba,Kn=30,va=19,lc=2*Cr+1,_n=15,ha=16,hh=7,Ta=256,cc=16,dc=17,uc=18,wa=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ko=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Eh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],fc=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],gh=512,Nt=new Array((Cr+2)*2);jn(Nt);var Dr=new Array(Kn*2);jn(Dr);var Lr=new Array(gh);jn(Lr);var kr=new Array(mh-ph+1);jn(kr);var Aa=new Array(ba);jn(Aa);var Oo=new Array(Kn);jn(Oo);function Ea(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}var pc,mc,hc;function ga(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Ec(e){return e<256?Lr[e]:Lr[256+(e>>>7)]}function Or(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Ie(e,t,n){e.bi_valid>ha-n?(e.bi_buf|=t<<e.bi_valid&65535,Or(e,e.bi_buf),e.bi_buf=t>>ha-e.bi_valid,e.bi_valid+=n-ha):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function gt(e,t,n){Ie(e,n[t*2],n[t*2+1])}function gc(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function xh(e){e.bi_valid===16?(Or(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function wh(e,t){var n=t.dyn_tree,r=t.max_code,o=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,d,u,f,p,m,h=0;for(f=0;f<=_n;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<lc;l++)d=e.heap[l],f=n[n[d*2+1]*2+1]+1,f>c&&(f=c,h++),n[d*2+1]=f,!(d>r)&&(e.bl_count[f]++,p=0,d>=s&&(p=a[d-s]),m=n[d*2],e.opt_len+=m*(f+p),i&&(e.static_len+=m*(o[d*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(d=e.bl_count[f];d!==0;)u=e.heap[--l],!(u>r)&&(n[u*2+1]!==f&&(e.opt_len+=(f-n[u*2+1])*n[u*2],n[u*2+1]=f),d--)}}function xc(e,t,n){var r=new Array(_n+1),o=0,i,a;for(i=1;i<=_n;i++)r[i]=o=o+n[i-1]<<1;for(a=0;a<=t;a++){var s=e[a*2+1];s!==0&&(e[a*2]=gc(r[s]++,s))}}function yh(){var e,t,n,r,o,i=new Array(_n+1);for(n=0,r=0;r<ba-1;r++)for(Aa[r]=n,e=0;e<1<<wa[r];e++)kr[n++]=r;for(kr[n-1]=r,o=0,r=0;r<16;r++)for(Oo[r]=o,e=0;e<1<<ko[r];e++)Lr[o++]=r;for(o>>=7;r<Kn;r++)for(Oo[r]=o<<7,e=0;e<1<<ko[r]-7;e++)Lr[256+o++]=r;for(t=0;t<=_n;t++)i[t]=0;for(e=0;e<=143;)Nt[e*2+1]=8,e++,i[8]++;for(;e<=255;)Nt[e*2+1]=9,e++,i[9]++;for(;e<=279;)Nt[e*2+1]=7,e++,i[7]++;for(;e<=287;)Nt[e*2+1]=8,e++,i[8]++;for(xc(Nt,Cr+1,i),e=0;e<Kn;e++)Dr[e*2+1]=5,Dr[e*2]=gc(e,5);pc=new Ea(Nt,wa,Rr+1,Cr,_n),mc=new Ea(Dr,ko,0,Kn,_n),hc=new Ea(new Array(0),Eh,0,va,hh)}function wc(e){var t;for(t=0;t<Cr;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Kn;t++)e.dyn_dtree[t*2]=0;for(t=0;t<va;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ta*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function yc(e){e.bi_valid>8?Or(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function bh(e,t,n,r){yc(e),r&&(Or(e,n),Or(e,~n)),lh.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function nc(e,t,n,r){var o=t*2,i=n*2;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function xa(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&nc(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!nc(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function rc(e,t,n){var r,o,i=0,a,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+i*2]<<8|e.pending_buf[e.d_buf+i*2+1],o=e.pending_buf[e.l_buf+i],i++,r===0?gt(e,o,t):(a=kr[o],gt(e,a+Rr+1,t),s=wa[a],s!==0&&(o-=Aa[a],Ie(e,o,s)),r--,a=Ec(r),gt(e,a,n),s=ko[a],s!==0&&(r-=Oo[a],Ie(e,r,s)));while(i<e.last_lit);gt(e,Ta,t)}function ya(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.elems,a,s,c=-1,l;for(e.heap_len=0,e.heap_max=lc,a=0;a<i;a++)n[a*2]!==0?(e.heap[++e.heap_len]=c=a,e.depth[a]=0):n[a*2+1]=0;for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,o&&(e.static_len-=r[l*2+1]);for(t.max_code=c,a=e.heap_len>>1;a>=1;a--)xa(e,n,a);l=i;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],xa(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,n[l*2]=n[a*2]+n[s*2],e.depth[l]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,n[a*2+1]=n[s*2+1]=l,e.heap[1]=l++,xa(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],wh(e,t),xc(n,c,e.bl_count)}function oc(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,c=7,l=4;for(a===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)i=a,a=t[(r+1)*2+1],!(++s<c&&i===a)&&(s<l?e.bl_tree[i*2]+=s:i!==0?(i!==o&&e.bl_tree[i*2]++,e.bl_tree[cc*2]++):s<=10?e.bl_tree[dc*2]++:e.bl_tree[uc*2]++,s=0,o=i,a===0?(c=138,l=3):i===a?(c=6,l=3):(c=7,l=4))}function ic(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,c=7,l=4;for(a===0&&(c=138,l=3),r=0;r<=n;r++)if(i=a,a=t[(r+1)*2+1],!(++s<c&&i===a)){if(s<l)do gt(e,i,e.bl_tree);while(--s!==0);else i!==0?(i!==o&&(gt(e,i,e.bl_tree),s--),gt(e,cc,e.bl_tree),Ie(e,s-3,2)):s<=10?(gt(e,dc,e.bl_tree),Ie(e,s-3,3)):(gt(e,uc,e.bl_tree),Ie(e,s-11,7));s=0,o=i,a===0?(c=138,l=3):i===a?(c=6,l=3):(c=7,l=4)}}function vh(e){var t;for(oc(e,e.dyn_ltree,e.l_desc.max_code),oc(e,e.dyn_dtree,e.d_desc.max_code),ya(e,e.bl_desc),t=va-1;t>=3&&e.bl_tree[fc[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Th(e,t,n,r){var o;for(Ie(e,t-257,5),Ie(e,n-1,5),Ie(e,r-4,4),o=0;o<r;o++)Ie(e,e.bl_tree[fc[o]*2+1],3);ic(e,e.dyn_ltree,t-1),ic(e,e.dyn_dtree,n-1)}function Ah(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return ec;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return tc;for(n=32;n<Rr;n++)if(e.dyn_ltree[n*2]!==0)return tc;return ec}var ac=!1;function Sh(e){ac||(yh(),ac=!0),e.l_desc=new ga(e.dyn_ltree,pc),e.d_desc=new ga(e.dyn_dtree,mc),e.bl_desc=new ga(e.bl_tree,hc),e.bi_buf=0,e.bi_valid=0,wc(e)}function bc(e,t,n,r){Ie(e,(uh<<1)+(r?1:0),3),bh(e,t,n,!0)}function _h(e){Ie(e,sc<<1,3),gt(e,Ta,Nt),xh(e)}function Ih(e,t,n,r){var o,i,a=0;e.level>0?(e.strm.data_type===dh&&(e.strm.data_type=Ah(e)),ya(e,e.l_desc),ya(e,e.d_desc),a=vh(e),o=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=o&&(o=i)):o=i=n+5,n+4<=o&&t!==-1?bc(e,t,n,r):e.strategy===ch||i===o?(Ie(e,(sc<<1)+(r?1:0),3),rc(e,Nt,Dr)):(Ie(e,(fh<<1)+(r?1:0),3),Th(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),rc(e,e.dyn_ltree,e.dyn_dtree)),wc(e),r&&yc(e)}function Ph(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(kr[n]+Rr+1)*2]++,e.dyn_dtree[Ec(t)*2]++),e.last_lit===e.lit_bufsize-1}qn._tr_init=Sh;qn._tr_stored_block=bc;qn._tr_flush_block=Ih;qn._tr_tally=Ph;qn._tr_align=_h});var Sa=ie((hy,Tc)=>{"use strict";g();function Mh(e,t,n,r){for(var o=e&65535|0,i=e>>>16&65535|0,a=0;n!==0;){a=n>2e3?2e3:n,n-=a;do o=o+t[r++]|0,i=i+o|0;while(--a);o%=65521,i%=65521}return o|i<<16|0}Tc.exports=Mh});var _a=ie((gy,Ac)=>{"use strict";g();function Dh(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var Ch=Dh();function Lh(e,t,n,r){var o=Ch,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[(e^t[a])&255];return e^-1}Ac.exports=Lh});var Ro=ie((wy,Sc)=>{"use strict";g();Sc.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var Oc=ie(yt=>{"use strict";g();var Ae=Ft(),Ve=vc(),Mc=Sa(),on=_a(),kh=Ro(),Dn=0,Oh=1,Rh=3,dn=4,_c=5,wt=0,Ic=1,$e=-2,Fh=-3,Ia=-5,Nh=-1,Bh=1,Fo=2,Gh=3,zh=4,Hh=0,Uh=2,zo=8,Vh=9,$h=15,Yh=8,Wh=29,Xh=256,Ma=Xh+1+Wh,Zh=30,Kh=19,jh=2*Ma+1,qh=15,W=3,ln=258,je=ln+W+1,Jh=32,Ho=42,Da=69,No=73,Bo=91,Go=103,In=113,Nr=666,he=1,Br=2,Pn=3,er=4,Qh=3;function cn(e,t){return e.msg=kh[t],t}function Pc(e){return(e<<1)-(e>4?9:0)}function sn(e){for(var t=e.length;--t>=0;)e[t]=0}function an(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(Ae.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function ye(e,t){Ve._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,an(e.strm)}function Z(e,t){e.pending_buf[e.pending++]=t}function Fr(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function eE(e,t,n,r){var o=e.avail_in;return o>r&&(o=r),o===0?0:(e.avail_in-=o,Ae.arraySet(t,e.input,e.next_in,o,n),e.state.wrap===1?e.adler=Mc(e.adler,t,o,n):e.state.wrap===2&&(e.adler=on(e.adler,t,o,n)),e.next_in+=o,e.total_in+=o,o)}function Dc(e,t){var n=e.max_chain_length,r=e.strstart,o,i,a=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-je?e.strstart-(e.w_size-je):0,l=e.window,d=e.w_mask,u=e.prev,f=e.strstart+ln,p=l[r+a-1],m=l[r+a];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(o=t,!(l[o+a]!==m||l[o+a-1]!==p||l[o]!==l[r]||l[++o]!==l[r+1])){r+=2,o++;do;while(l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&r<f);if(i=ln-(f-r),r=f-ln,i>a){if(e.match_start=t,a=i,i>=s)break;p=l[r+a-1],m=l[r+a]}}while((t=u[t&d])>c&&--n!==0);return a<=e.lookahead?a:e.lookahead}function Mn(e){var t=e.w_size,n,r,o,i,a;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-je)){Ae.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,r=e.hash_size,n=r;do o=e.head[--n],e.head[n]=o>=t?o-t:0;while(--r);r=t,n=r;do o=e.prev[--n],e.prev[n]=o>=t?o-t:0;while(--r);i+=t}if(e.strm.avail_in===0)break;if(r=eE(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=r,e.lookahead+e.insert>=W)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+W-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<W)););}while(e.lookahead<je&&e.strm.avail_in!==0)}function tE(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Mn(e),e.lookahead===0&&t===Dn)return he;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,ye(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-je&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):(e.strstart>e.block_start&&(ye(e,!1),e.strm.avail_out===0),he)}function Pa(e,t){for(var n,r;;){if(e.lookahead<je){if(Mn(e),e.lookahead<je&&t===Dn)return he;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-je&&(e.match_length=Dc(e,n)),e.match_length>=W)if(r=Ve._tr_tally(e,e.strstart-e.match_start,e.match_length-W),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=W){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=e.strstart<W-1?e.strstart:W-1,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function Jn(e,t){for(var n,r,o;;){if(e.lookahead<je){if(Mn(e),e.lookahead<je&&t===Dn)return he;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=W-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-je&&(e.match_length=Dc(e,n),e.match_length<=5&&(e.strategy===Bh||e.match_length===W&&e.strstart-e.match_start>4096)&&(e.match_length=W-1)),e.prev_length>=W&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-W,r=Ve._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-W),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=W-1,e.strstart++,r&&(ye(e,!1),e.strm.avail_out===0))return he}else if(e.match_available){if(r=Ve._tr_tally(e,0,e.window[e.strstart-1]),r&&ye(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return he}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Ve._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<W-1?e.strstart:W-1,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function nE(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=ln){if(Mn(e),e.lookahead<=ln&&t===Dn)return he;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=W&&e.strstart>0&&(o=e.strstart-1,r=a[o],r===a[++o]&&r===a[++o]&&r===a[++o])){i=e.strstart+ln;do;while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=ln-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=W?(n=Ve._tr_tally(e,1,e.match_length-W),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function rE(e,t){for(var n;;){if(e.lookahead===0&&(Mn(e),e.lookahead===0)){if(t===Dn)return he;break}if(e.match_length=0,n=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function xt(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}var Qn;Qn=[new xt(0,0,0,0,tE),new xt(4,4,8,4,Pa),new xt(4,5,16,8,Pa),new xt(4,6,32,32,Pa),new xt(4,4,16,16,Jn),new xt(8,16,32,32,Jn),new xt(8,16,128,128,Jn),new xt(8,32,128,256,Jn),new xt(32,128,258,1024,Jn),new xt(32,258,258,4096,Jn)];function oE(e){e.window_size=2*e.w_size,sn(e.head),e.max_lazy_match=Qn[e.level].max_lazy,e.good_match=Qn[e.level].good_length,e.nice_match=Qn[e.level].nice_length,e.max_chain_length=Qn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=W-1,e.match_available=0,e.ins_h=0}function iE(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=zo,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ae.Buf16(jh*2),this.dyn_dtree=new Ae.Buf16((2*Zh+1)*2),this.bl_tree=new Ae.Buf16((2*Kh+1)*2),sn(this.dyn_ltree),sn(this.dyn_dtree),sn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ae.Buf16(qh+1),this.heap=new Ae.Buf16(2*Ma+1),sn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ae.Buf16(2*Ma+1),sn(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Cc(e){var t;return!e||!e.state?cn(e,$e):(e.total_in=e.total_out=0,e.data_type=Uh,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Ho:In,e.adler=t.wrap===2?0:1,t.last_flush=Dn,Ve._tr_init(t),wt)}function Lc(e){var t=Cc(e);return t===wt&&oE(e.state),t}function aE(e,t){return!e||!e.state||e.state.wrap!==2?$e:(e.state.gzhead=t,wt)}function kc(e,t,n,r,o,i){if(!e)return $e;var a=1;if(t===Nh&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>Vh||n!==zo||r<8||r>15||t<0||t>9||i<0||i>zh)return cn(e,$e);r===8&&(r=9);var s=new iE;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+W-1)/W),s.window=new Ae.Buf8(s.w_size*2),s.head=new Ae.Buf16(s.hash_size),s.prev=new Ae.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Ae.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,Lc(e)}function sE(e,t){return kc(e,t,zo,$h,Yh,Hh)}function lE(e,t){var n,r,o,i;if(!e||!e.state||t>_c||t<0)return e?cn(e,$e):$e;if(r=e.state,!e.output||!e.input&&e.avail_in!==0||r.status===Nr&&t!==dn)return cn(e,e.avail_out===0?Ia:$e);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===Ho)if(r.wrap===2)e.adler=0,Z(r,31),Z(r,139),Z(r,8),r.gzhead?(Z(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Z(r,r.gzhead.time&255),Z(r,r.gzhead.time>>8&255),Z(r,r.gzhead.time>>16&255),Z(r,r.gzhead.time>>24&255),Z(r,r.level===9?2:r.strategy>=Fo||r.level<2?4:0),Z(r,r.gzhead.os&255),r.gzhead.extra&&r.gzhead.extra.length&&(Z(r,r.gzhead.extra.length&255),Z(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=on(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=Da):(Z(r,0),Z(r,0),Z(r,0),Z(r,0),Z(r,0),Z(r,r.level===9?2:r.strategy>=Fo||r.level<2?4:0),Z(r,Qh),r.status=In);else{var a=zo+(r.w_bits-8<<4)<<8,s=-1;r.strategy>=Fo||r.level<2?s=0:r.level<6?s=1:r.level===6?s=2:s=3,a|=s<<6,r.strstart!==0&&(a|=Jh),a+=31-a%31,r.status=In,Fr(r,a),r.strstart!==0&&(Fr(r,e.adler>>>16),Fr(r,e.adler&65535)),e.adler=1}if(r.status===Da)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(r.gzhead.extra.length&65535)&&!(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size));)Z(r,r.gzhead.extra[r.gzindex]&255),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=No)}else r.status=No;if(r.status===No)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.name.length?i=r.gzhead.name.charCodeAt(r.gzindex++)&255:i=0,Z(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.gzindex=0,r.status=Bo)}else r.status=Bo;if(r.status===Bo)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.comment.length?i=r.gzhead.comment.charCodeAt(r.gzindex++)&255:i=0,Z(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.status=Go)}else r.status=Go;if(r.status===Go&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&an(e),r.pending+2<=r.pending_buf_size&&(Z(r,e.adler&255),Z(r,e.adler>>8&255),e.adler=0,r.status=In)):r.status=In),r.pending!==0){if(an(e),e.avail_out===0)return r.last_flush=-1,wt}else if(e.avail_in===0&&Pc(t)<=Pc(n)&&t!==dn)return cn(e,Ia);if(r.status===Nr&&e.avail_in!==0)return cn(e,Ia);if(e.avail_in!==0||r.lookahead!==0||t!==Dn&&r.status!==Nr){var c=r.strategy===Fo?rE(r,t):r.strategy===Gh?nE(r,t):Qn[r.level].func(r,t);if((c===Pn||c===er)&&(r.status=Nr),c===he||c===Pn)return e.avail_out===0&&(r.last_flush=-1),wt;if(c===Br&&(t===Oh?Ve._tr_align(r):t!==_c&&(Ve._tr_stored_block(r,0,0,!1),t===Rh&&(sn(r.head),r.lookahead===0&&(r.strstart=0,r.block_start=0,r.insert=0))),an(e),e.avail_out===0))return r.last_flush=-1,wt}return t!==dn?wt:r.wrap<=0?Ic:(r.wrap===2?(Z(r,e.adler&255),Z(r,e.adler>>8&255),Z(r,e.adler>>16&255),Z(r,e.adler>>24&255),Z(r,e.total_in&255),Z(r,e.total_in>>8&255),Z(r,e.total_in>>16&255),Z(r,e.total_in>>24&255)):(Fr(r,e.adler>>>16),Fr(r,e.adler&65535)),an(e),r.wrap>0&&(r.wrap=-r.wrap),r.pending!==0?wt:Ic)}function cE(e){var t;return!e||!e.state?$e:(t=e.state.status,t!==Ho&&t!==Da&&t!==No&&t!==Bo&&t!==Go&&t!==In&&t!==Nr?cn(e,$e):(e.state=null,t===In?cn(e,Fh):wt))}function dE(e,t){var n=t.length,r,o,i,a,s,c,l,d;if(!e||!e.state||(r=e.state,a=r.wrap,a===2||a===1&&r.status!==Ho||r.lookahead))return $e;for(a===1&&(e.adler=Mc(e.adler,t,n,0)),r.wrap=0,n>=r.w_size&&(a===0&&(sn(r.head),r.strstart=0,r.block_start=0,r.insert=0),d=new Ae.Buf8(r.w_size),Ae.arraySet(d,t,n-r.w_size,r.w_size,0),t=d,n=r.w_size),s=e.avail_in,c=e.next_in,l=e.input,e.avail_in=n,e.next_in=0,e.input=t,Mn(r);r.lookahead>=W;){o=r.strstart,i=r.lookahead-(W-1);do r.ins_h=(r.ins_h<<r.hash_shift^r.window[o+W-1])&r.hash_mask,r.prev[o&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=o,o++;while(--i);r.strstart=o,r.lookahead=W-1,Mn(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=W-1,r.match_available=0,e.next_in=c,e.input=l,e.avail_in=s,r.wrap=a,wt}yt.deflateInit=sE;yt.deflateInit2=kc;yt.deflateReset=Lc;yt.deflateResetKeep=Cc;yt.deflateSetHeader=aE;yt.deflate=lE;yt.deflateEnd=cE;yt.deflateSetDictionary=dE;yt.deflateInfo="pako deflate (from Nodeca project)"});var Ca=ie(tr=>{"use strict";g();var Uo=Ft(),Rc=!0,Fc=!0;try{String.fromCharCode.apply(null,[0])}catch{Rc=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Fc=!1}var Gr=new Uo.Buf8(256);for(Bt=0;Bt<256;Bt++)Gr[Bt]=Bt>=252?6:Bt>=248?5:Bt>=240?4:Bt>=224?3:Bt>=192?2:1;var Bt;Gr[254]=Gr[254]=1;tr.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uo.Buf8(s),i=0,o=0;i<s;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|n&63):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|n&63):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|n&63);return t};function Nc(e,t){if(t<65534&&(e.subarray&&Fc||!e.subarray&&Rc))return String.fromCharCode.apply(null,Uo.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}tr.buf2binstring=function(e){return Nc(e,e.length)};tr.binstring2buf=function(e){for(var t=new Uo.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t};tr.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(a*2);for(r=0,n=0;n<a;){if(o=e[n++],o<128){s[r++]=o;continue}if(i=Gr[o],i>4){s[r++]=65533,n+=i-1;continue}for(o&=i===2?31:i===3?15:7;i>1&&n<a;)o=o<<6|e[n++]&63,i--;if(i>1){s[r++]=65533;continue}o<65536?s[r++]=o:(o-=65536,s[r++]=55296|o>>10&1023,s[r++]=56320|o&1023)}return Nc(s,r)};tr.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Gr[e[n]]>t?n:t}});var La=ie((Sy,Bc)=>{"use strict";g();function uE(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}Bc.exports=uE});var Uc=ie(Ur=>{"use strict";g();var zr=Oc(),Hr=Ft(),Oa=Ca(),Ra=Ro(),fE=La(),Hc=Object.prototype.toString,pE=0,ka=4,nr=0,Gc=1,zc=2,mE=-1,hE=0,EE=8;function Cn(e){if(!(this instanceof Cn))return new Cn(e);this.options=Hr.assign({level:mE,method:EE,chunkSize:16384,windowBits:15,memLevel:8,strategy:hE,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new fE,this.strm.avail_out=0;var n=zr.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==nr)throw new Error(Ra[n]);if(t.header&&zr.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(typeof t.dictionary=="string"?r=Oa.string2buf(t.dictionary):Hc.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=zr.deflateSetDictionary(this.strm,r),n!==nr)throw new Error(Ra[n]);this._dict_set=!0}}Cn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o,i;if(this.ended)return!1;i=t===~~t?t:t===!0?ka:pE,typeof e=="string"?n.input=Oa.string2buf(e):Hc.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Hr.Buf8(r),n.next_out=0,n.avail_out=r),o=zr.deflate(n,i),o!==Gc&&o!==nr)return this.onEnd(o),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(i===ka||i===zc))&&(this.options.to==="string"?this.onData(Oa.buf2binstring(Hr.shrinkBuf(n.output,n.next_out))):this.onData(Hr.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&o!==Gc);return i===ka?(o=zr.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===nr):(i===zc&&(this.onEnd(nr),n.avail_out=0),!0)};Cn.prototype.onData=function(e){this.chunks.push(e)};Cn.prototype.onEnd=function(e){e===nr&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Hr.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Fa(e,t){var n=new Cn(t);if(n.push(e,!0),n.err)throw n.msg||Ra[n.err];return n.result}function gE(e,t){return t=t||{},t.raw=!0,Fa(e,t)}function xE(e,t){return t=t||{},t.gzip=!0,Fa(e,t)}Ur.Deflate=Cn;Ur.deflate=Fa;Ur.deflateRaw=gE;Ur.gzip=xE});var $c=ie((My,Vc)=>{"use strict";g();var Vo=30,wE=12;Vc.exports=function(t,n){var r,o,i,a,s,c,l,d,u,f,p,m,h,E,x,w,y,T,b,D,S,A,I,P,_;r=t.state,o=t.next_in,P=t.input,i=o+(t.avail_in-5),a=t.next_out,_=t.output,s=a-(n-t.avail_out),c=a+(t.avail_out-257),l=r.dmax,d=r.wsize,u=r.whave,f=r.wnext,p=r.window,m=r.hold,h=r.bits,E=r.lencode,x=r.distcode,w=(1<<r.lenbits)-1,y=(1<<r.distbits)-1;e:do{h<15&&(m+=P[o++]<<h,h+=8,m+=P[o++]<<h,h+=8),T=E[m&w];t:for(;;){if(b=T>>>24,m>>>=b,h-=b,b=T>>>16&255,b===0)_[a++]=T&65535;else if(b&16){D=T&65535,b&=15,b&&(h<b&&(m+=P[o++]<<h,h+=8),D+=m&(1<<b)-1,m>>>=b,h-=b),h<15&&(m+=P[o++]<<h,h+=8,m+=P[o++]<<h,h+=8),T=x[m&y];n:for(;;){if(b=T>>>24,m>>>=b,h-=b,b=T>>>16&255,b&16){if(S=T&65535,b&=15,h<b&&(m+=P[o++]<<h,h+=8,h<b&&(m+=P[o++]<<h,h+=8)),S+=m&(1<<b)-1,S>l){t.msg="invalid distance too far back",r.mode=Vo;break e}if(m>>>=b,h-=b,b=a-s,S>b){if(b=S-b,b>u&&r.sane){t.msg="invalid distance too far back",r.mode=Vo;break e}if(A=0,I=p,f===0){if(A+=d-b,b<D){D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}}else if(f<b){if(A+=d+f-b,b-=f,b<D){D-=b;do _[a++]=p[A++];while(--b);if(A=0,f<D){b=f,D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}}}else if(A+=f-b,b<D){D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}for(;D>2;)_[a++]=I[A++],_[a++]=I[A++],_[a++]=I[A++],D-=3;D&&(_[a++]=I[A++],D>1&&(_[a++]=I[A++]))}else{A=a-S;do _[a++]=_[A++],_[a++]=_[A++],_[a++]=_[A++],D-=3;while(D>2);D&&(_[a++]=_[A++],D>1&&(_[a++]=_[A++]))}}else if(b&64){t.msg="invalid distance code",r.mode=Vo;break e}else{T=x[(T&65535)+(m&(1<<b)-1)];continue n}break}}else if(b&64)if(b&32){r.mode=wE;break e}else{t.msg="invalid literal/length code",r.mode=Vo;break e}else{T=E[(T&65535)+(m&(1<<b)-1)];continue t}break}}while(o<i&&a<c);D=h>>3,o-=D,h-=D<<3,m&=(1<<h)-1,t.next_in=o,t.next_out=a,t.avail_in=o<i?5+(i-o):5-(o-i),t.avail_out=a<c?257+(c-a):257-(a-c),r.hold=m,r.bits=h}});var qc=ie((Cy,jc)=>{"use strict";g();var Yc=Ft(),rr=15,Wc=852,Xc=592,Zc=0,Na=1,Kc=2,yE=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],bE=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],vE=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],TE=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];jc.exports=function(t,n,r,o,i,a,s,c){var l=c.bits,d=0,u=0,f=0,p=0,m=0,h=0,E=0,x=0,w=0,y=0,T,b,D,S,A,I=null,P=0,_,M=new Yc.Buf16(rr+1),k=new Yc.Buf16(rr+1),Y=null,O=0,F,L,C;for(d=0;d<=rr;d++)M[d]=0;for(u=0;u<o;u++)M[n[r+u]]++;for(m=l,p=rr;p>=1&&M[p]===0;p--);if(m>p&&(m=p),p===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,c.bits=1,0;for(f=1;f<p&&M[f]===0;f++);for(m<f&&(m=f),x=1,d=1;d<=rr;d++)if(x<<=1,x-=M[d],x<0)return-1;if(x>0&&(t===Zc||p!==1))return-1;for(k[1]=0,d=1;d<rr;d++)k[d+1]=k[d]+M[d];for(u=0;u<o;u++)n[r+u]!==0&&(s[k[n[r+u]]++]=u);if(t===Zc?(I=Y=s,_=19):t===Na?(I=yE,P-=257,Y=bE,O-=257,_=256):(I=vE,Y=TE,_=-1),y=0,u=0,d=f,A=a,h=m,E=0,D=-1,w=1<<m,S=w-1,t===Na&&w>Wc||t===Kc&&w>Xc)return 1;for(;;){F=d-E,s[u]<_?(L=0,C=s[u]):s[u]>_?(L=Y[O+s[u]],C=I[P+s[u]]):(L=96,C=0),T=1<<d-E,b=1<<h,f=b;do b-=T,i[A+(y>>E)+b]=F<<24|L<<16|C|0;while(b!==0);for(T=1<<d-1;y&T;)T>>=1;if(T!==0?(y&=T-1,y+=T):y=0,u++,--M[d]===0){if(d===p)break;d=n[r+s[u]]}if(d>m&&(y&S)!==D){for(E===0&&(E=m),A+=f,h=d-E,x=1<<h;h+E<p&&(x-=M[h+E],!(x<=0));)h++,x<<=1;if(w+=1<<h,t===Na&&w>Wc||t===Kc&&w>Xc)return 1;D=y&S,i[D]=m<<24|h<<16|A-a|0}}return y!==0&&(i[A+y]=d-E<<24|64<<16|0),c.bits=m,0}});var Ld=ie(qe=>{"use strict";g();var Oe=Ft(),Va=Sa(),bt=_a(),AE=$c(),Vr=qc(),SE=0,Td=1,Ad=2,Jc=4,_E=5,$o=6,Ln=0,IE=1,PE=2,Ye=-2,Sd=-3,$a=-4,ME=-5,Qc=8,_d=1,ed=2,td=3,nd=4,rd=5,od=6,id=7,ad=8,sd=9,ld=10,Xo=11,Gt=12,Ba=13,cd=14,Ga=15,dd=16,ud=17,fd=18,pd=19,Yo=20,Wo=21,md=22,hd=23,Ed=24,gd=25,xd=26,za=27,wd=28,yd=29,ae=30,Ya=31,DE=32,CE=852,LE=592,kE=15,OE=kE;function bd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function RE(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Oe.Buf16(320),this.work=new Oe.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Id(e){var t;return!e||!e.state?Ye:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=_d,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Oe.Buf32(CE),t.distcode=t.distdyn=new Oe.Buf32(LE),t.sane=1,t.back=-1,Ln)}function Pd(e){var t;return!e||!e.state?Ye:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Id(e))}function Md(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ye:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Pd(e))}function Dd(e,t){var n,r;return e?(r=new RE,e.state=r,r.window=null,n=Md(e,t),n!==Ln&&(e.state=null),n):Ye}function FE(e){return Dd(e,OE)}var vd=!0,Ha,Ua;function NE(e){if(vd){var t;for(Ha=new Oe.Buf32(512),Ua=new Oe.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Vr(Td,e.lens,0,288,Ha,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Vr(Ad,e.lens,0,32,Ua,0,e.work,{bits:5}),vd=!1}e.lencode=Ha,e.lenbits=9,e.distcode=Ua,e.distbits=5}function Cd(e,t,n,r){var o,i=e.state;return i.window===null&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Oe.Buf8(i.wsize)),r>=i.wsize?(Oe.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(o=i.wsize-i.wnext,o>r&&(o=r),Oe.arraySet(i.window,t,n-r,o,i.wnext),r-=o,r?(Oe.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}function BE(e,t){var n,r,o,i,a,s,c,l,d,u,f,p,m,h,E=0,x,w,y,T,b,D,S,A,I=new Oe.Buf8(4),P,_,M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ye;n=e.state,n.mode===Gt&&(n.mode=Ba),a=e.next_out,o=e.output,c=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,l=n.hold,d=n.bits,u=s,f=c,A=Ln;e:for(;;)switch(n.mode){case _d:if(n.wrap===0){n.mode=Ba;break}for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.wrap&2&&l===35615){n.check=0,I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0),l=0,d=0,n.mode=ed;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=ae;break}if((l&15)!==Qc){e.msg="unknown compression method",n.mode=ae;break}if(l>>>=4,d-=4,S=(l&15)+8,n.wbits===0)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=ae;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=l&512?ld:Gt,l=0,d=0;break;case ed:for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.flags=l,(n.flags&255)!==Qc){e.msg="unknown compression method",n.mode=ae;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=ae;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0)),l=0,d=0,n.mode=td;case td:for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.head&&(n.head.time=l),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,I[2]=l>>>16&255,I[3]=l>>>24&255,n.check=bt(n.check,I,4,0)),l=0,d=0,n.mode=nd;case nd:for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0)),l=0,d=0,n.mode=rd;case rd:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0)),l=0,d=0}else n.head&&(n.head.extra=null);n.mode=od;case od:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Oe.arraySet(n.head.extra,r,i,p,S)),n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,n.length-=p),n.length))break e;n.length=0,n.mode=id;case id:if(n.flags&2048){if(s===0)break e;p=0;do S=r[i+p++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S));while(S&&p<s);if(n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=ad;case ad:if(n.flags&4096){if(s===0)break e;p=0;do S=r[i+p++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S));while(S&&p<s);if(n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,S)break e}else n.head&&(n.head.comment=null);n.mode=sd;case sd:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l!==(n.check&65535)){e.msg="header crc mismatch",n.mode=ae;break}l=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Gt;break;case ld:for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}e.adler=n.check=bd(l),l=0,d=0,n.mode=Xo;case Xo:if(n.havedict===0)return e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,PE;e.adler=n.check=1,n.mode=Gt;case Gt:if(t===_E||t===$o)break e;case Ba:if(n.last){l>>>=d&7,d-=d&7,n.mode=za;break}for(;d<3;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}switch(n.last=l&1,l>>>=1,d-=1,l&3){case 0:n.mode=cd;break;case 1:if(NE(n),n.mode=Yo,t===$o){l>>>=2,d-=2;break e}break;case 2:n.mode=ud;break;case 3:e.msg="invalid block type",n.mode=ae}l>>>=2,d-=2;break;case cd:for(l>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if((l&65535)!==(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ae;break}if(n.length=l&65535,l=0,d=0,n.mode=Ga,t===$o)break e;case Ga:n.mode=dd;case dd:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break e;Oe.arraySet(o,r,i,p,a),s-=p,i+=p,c-=p,a+=p,n.length-=p;break}n.mode=Gt;break;case ud:for(;d<14;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.nlen=(l&31)+257,l>>>=5,d-=5,n.ndist=(l&31)+1,l>>>=5,d-=5,n.ncode=(l&15)+4,l>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ae;break}n.have=0,n.mode=fd;case fd:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.lens[M[n.have++]]=l&7,l>>>=3,d-=3}for(;n.have<19;)n.lens[M[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},A=Vr(SE,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid code lengths set",n.mode=ae;break}n.have=0,n.mode=pd;case pd:for(;n.have<n.nlen+n.ndist;){for(;E=n.lencode[l&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(y<16)l>>>=x,d-=x,n.lens[n.have++]=y;else{if(y===16){for(_=x+2;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l>>>=x,d-=x,n.have===0){e.msg="invalid bit length repeat",n.mode=ae;break}S=n.lens[n.have-1],p=3+(l&3),l>>>=2,d-=2}else if(y===17){for(_=x+3;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=x,d-=x,S=0,p=3+(l&7),l>>>=3,d-=3}else{for(_=x+7;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=x,d-=x,S=0,p=11+(l&127),l>>>=7,d-=7}if(n.have+p>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ae;break}for(;p--;)n.lens[n.have++]=S}}if(n.mode===ae)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=ae;break}if(n.lenbits=9,P={bits:n.lenbits},A=Vr(Td,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid literal/lengths set",n.mode=ae;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},A=Vr(Ad,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,A){e.msg="invalid distances set",n.mode=ae;break}if(n.mode=Yo,t===$o)break e;case Yo:n.mode=Wo;case Wo:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,AE(e,f),a=e.next_out,o=e.output,c=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,l=n.hold,d=n.bits,n.mode===Gt&&(n.back=-1);break}for(n.back=0;E=n.lencode[l&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(w&&!(w&240)){for(T=x,b=w,D=y;E=n.lencode[D+((l&(1<<T+b)-1)>>T)],x=E>>>24,w=E>>>16&255,y=E&65535,!(T+x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=T,d-=T,n.back+=T}if(l>>>=x,d-=x,n.back+=x,n.length=y,w===0){n.mode=xd;break}if(w&32){n.back=-1,n.mode=Gt;break}if(w&64){e.msg="invalid literal/length code",n.mode=ae;break}n.extra=w&15,n.mode=md;case md:if(n.extra){for(_=n.extra;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=hd;case hd:for(;E=n.distcode[l&(1<<n.distbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(!(w&240)){for(T=x,b=w,D=y;E=n.distcode[D+((l&(1<<T+b)-1)>>T)],x=E>>>24,w=E>>>16&255,y=E&65535,!(T+x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=T,d-=T,n.back+=T}if(l>>>=x,d-=x,n.back+=x,w&64){e.msg="invalid distance code",n.mode=ae;break}n.offset=y,n.extra=w&15,n.mode=Ed;case Ed:if(n.extra){for(_=n.extra;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ae;break}n.mode=gd;case gd:if(c===0)break e;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ae;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=o,m=a-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do o[a++]=h[m++];while(--p);n.length===0&&(n.mode=Wo);break;case xd:if(c===0)break e;o[a++]=n.length,c--,n.mode=Wo;break;case za:if(n.wrap){for(;d<32;){if(s===0)break e;s--,l|=r[i++]<<d,d+=8}if(f-=c,e.total_out+=f,n.total+=f,f&&(e.adler=n.check=n.flags?bt(n.check,o,f,a-f):Va(n.check,o,f,a-f)),f=c,(n.flags?l:bd(l))!==n.check){e.msg="incorrect data check",n.mode=ae;break}l=0,d=0}n.mode=wd;case wd:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=ae;break}l=0,d=0}n.mode=yd;case yd:A=IE;break e;case ae:A=Sd;break e;case Ya:return $a;case DE:default:return Ye}return e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,(n.wsize||f!==e.avail_out&&n.mode<ae&&(n.mode<za||t!==Jc))&&Cd(e,e.output,e.next_out,f-e.avail_out)?(n.mode=Ya,$a):(u-=e.avail_in,f-=e.avail_out,e.total_in+=u,e.total_out+=f,n.total+=f,n.wrap&&f&&(e.adler=n.check=n.flags?bt(n.check,o,f,e.next_out-f):Va(n.check,o,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Gt?128:0)+(n.mode===Yo||n.mode===Ga?256:0),(u===0&&f===0||t===Jc)&&A===Ln&&(A=ME),A)}function GE(e){if(!e||!e.state)return Ye;var t=e.state;return t.window&&(t.window=null),e.state=null,Ln}function zE(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?Ye:(n.head=t,t.done=!1,Ln)}function HE(e,t){var n=t.length,r,o,i;return!e||!e.state||(r=e.state,r.wrap!==0&&r.mode!==Xo)?Ye:r.mode===Xo&&(o=1,o=Va(o,t,n,0),o!==r.check)?Sd:(i=Cd(e,t,n,n),i?(r.mode=Ya,$a):(r.havedict=1,Ln))}qe.inflateReset=Pd;qe.inflateReset2=Md;qe.inflateResetKeep=Id;qe.inflateInit=FE;qe.inflateInit2=Dd;qe.inflate=BE;qe.inflateEnd=GE;qe.inflateGetHeader=zE;qe.inflateSetDictionary=HE;qe.inflateInfo="pako inflate (from Nodeca project)"});var Wa=ie((Ry,kd)=>{"use strict";g();kd.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var Rd=ie((Ny,Od)=>{"use strict";g();function UE(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Od.exports=UE});var Nd=ie(Yr=>{"use strict";g();var or=Ld(),$r=Ft(),Zo=Ca(),pe=Wa(),Xa=Ro(),VE=La(),$E=Rd(),Fd=Object.prototype.toString;function kn(e){if(!(this instanceof kn))return new kn(e);this.options=$r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new VE,this.strm.avail_out=0;var n=or.inflateInit2(this.strm,t.windowBits);if(n!==pe.Z_OK)throw new Error(Xa[n]);if(this.header=new $E,or.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Zo.string2buf(t.dictionary):Fd.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=or.inflateSetDictionary(this.strm,t.dictionary),n!==pe.Z_OK)))throw new Error(Xa[n])}kn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o=this.options.dictionary,i,a,s,c,l,d=!1;if(this.ended)return!1;a=t===~~t?t:t===!0?pe.Z_FINISH:pe.Z_NO_FLUSH,typeof e=="string"?n.input=Zo.binstring2buf(e):Fd.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new $r.Buf8(r),n.next_out=0,n.avail_out=r),i=or.inflate(n,pe.Z_NO_FLUSH),i===pe.Z_NEED_DICT&&o&&(i=or.inflateSetDictionary(this.strm,o)),i===pe.Z_BUF_ERROR&&d===!0&&(i=pe.Z_OK,d=!1),i!==pe.Z_STREAM_END&&i!==pe.Z_OK)return this.onEnd(i),this.ended=!0,!1;n.next_out&&(n.avail_out===0||i===pe.Z_STREAM_END||n.avail_in===0&&(a===pe.Z_FINISH||a===pe.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=Zo.utf8border(n.output,n.next_out),c=n.next_out-s,l=Zo.buf2string(n.output,s),n.next_out=c,n.avail_out=r-c,c&&$r.arraySet(n.output,n.output,s,c,0),this.onData(l)):this.onData($r.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(d=!0)}while((n.avail_in>0||n.avail_out===0)&&i!==pe.Z_STREAM_END);return i===pe.Z_STREAM_END&&(a=pe.Z_FINISH),a===pe.Z_FINISH?(i=or.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===pe.Z_OK):(a===pe.Z_SYNC_FLUSH&&(this.onEnd(pe.Z_OK),n.avail_out=0),!0)};kn.prototype.onData=function(e){this.chunks.push(e)};kn.prototype.onEnd=function(e){e===pe.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=$r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Za(e,t){var n=new kn(t);if(n.push(e,!0),n.err)throw n.msg||Xa[n.err];return n.result}function YE(e,t){return t=t||{},t.raw=!0,Za(e,t)}Yr.Inflate=kn;Yr.inflate=Za;Yr.inflateRaw=YE;Yr.ungzip=Za});var zd=ie((Hy,Gd)=>{"use strict";g();var WE=Ft().assign,XE=Uc(),ZE=Nd(),KE=Wa(),Bd={};WE(Bd,XE,ZE,KE);Gd.exports=Bd});var rp=ie(Hi=>{"use strict";g();Object.defineProperty(Hi,"__esModule",{value:!0});Hi.sanitizeUrl=void 0;var nw=/^([^\w]*)(javascript|data|vbscript)/im,rw=/&#(\w+)(^\w|;)?/g,ow=/&(newline|tab);/gi,iw=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,aw=/^.+(:|:)/gim,sw=[".","/"];function lw(e){return sw.indexOf(e[0])>-1}function cw(e){return e.replace(rw,function(t,n){return String.fromCharCode(n)})}function dw(e){var t=cw(e||"").replace(ow,"").replace(iw,"").trim();if(!t)return"about:blank";if(lw(t))return t;var n=t.match(aw);if(!n)return t;var r=n[0];return nw.test(r)?"about:blank":t}Hi.sanitizeUrl=dw});g();var Bl=Mr($l(),1),Gl=Mr(Kl(),1),Ym=Mr(Ql(),1);g();var ua=Mr(zd(),1);g();g();var Ka={};g();var On={white:"#ffffff",black:"#000000",gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};var JE=(e,t)=>t.reduce((n,r)=>(r in e&&(n[r]=e[r]),n),{}),Wy=5,Xy=5,Hd=4,Ko=4,jo=1,Je=[0,2,4,6,8];var Qe=(e,t)=>t.map(n=>On[e][n]),H={transparent:"transparent",black:"#1e1e1e",white:"#ffffff",gray:Qe("gray",Je),red:Qe("red",Je),pink:Qe("pink",Je),grape:Qe("grape",Je),violet:Qe("violet",Je),blue:Qe("blue",Je),cyan:Qe("cyan",Je),teal:Qe("teal",Je),green:Qe("green",Je),yellow:Qe("yellow",Je),orange:Qe("orange",Je),bronze:["#f8f1ee","#eaddd7","#d2bab0","#a18072","#846358"]},Ud=JE(H,["cyan","blue","violet","grape","pink","green","teal","yellow","orange","red"]),Zy=[H.black,H.red[Ko],H.green[Ko],H.blue[Ko],H.yellow[Ko]],Ky=[H.transparent,H.red[jo],H.green[jo],H.blue[jo],H.yellow[jo]],jy=[H.white,"#f8f9fa","#f5faff","#fffce8","#fdf8f6"],qy={transparent:H.transparent,white:H.white,gray:H.gray,black:H.black,bronze:H.bronze,...Ud},Jy={transparent:H.transparent,white:H.white,gray:H.gray,black:H.black,bronze:H.bronze,...Ud},Vd=e=>[H.cyan[e],H.blue[e],H.violet[e],H.grape[e],H.pink[e],H.green[e],H.teal[e],H.yellow[e],H.orange[e],H.red[e]],Qy=(e,t,n)=>`#${((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}`;var qo=/Mac|iPod|iPhone|iPad/.test(navigator.platform),ob=/^Win/.test(navigator.platform),$d=/\b(android)\b/i.test(navigator.userAgent),ib="netscape"in window&&navigator.userAgent.indexOf("rv:")>1&&navigator.userAgent.indexOf("Gecko")>1,QE=navigator.userAgent.indexOf("Chrome")!==-1,ab=!QE&&navigator.userAgent.indexOf("Safari")!==-1,Yd=/iPad|iPhone/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,sb=()=>navigator.brave?.isBrave?.name==="isBrave",lb=typeof window<"u"&&"ResizeObserver"in window,cb="Excalidraw",Wd=36,Xd=10,Zd=8,db=5,ub=1,fb=30,vt=Math.PI/12,pb="red",Jo={TEXT:"text",CROSSHAIR:"crosshair",GRABBING:"grabbing",GRAB:"grab",POINTER:"pointer",MOVE:"move",AUTO:""},mb={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1,ERASER:5},hb={enabled:"all",disabled:"none",inheritFromUI:"var(--ui-pointerEvents)"};var Eb={UNSTARTED:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3,CUED:5},et={TEST:"test",DEVELOPMENT:"development"},gb={SHAPE_ACTIONS_MENU:"App-menu__left"},Ee={Virgil:1,Helvetica:2,Cascadia:3,Assistant:4},Re={LIGHT:"light",DARK:"dark"},xe={strokeColor:"#bbb",strokeWidth:2,strokeStyle:"solid",fillStyle:"solid",roughness:0,roundness:null,backgroundColor:"transparent",radius:8,nameOffsetY:3,nameColorLightTheme:"#999999",nameColorDarkTheme:"#7a7a7a",nameFontSize:14,nameLineHeight:1.25},ja="Segoe UI Emoji",Qo=1,Tt=20,tt=Ee.Virgil,ir="left",ei="top";var Wr=2,ti=2*Wr,eg=1e-5,xb=2*ti-eg,wb="#ffffff",yb="#1e1e1e",bb="#a2f1a6";var vb=20,qa={svg:"image/svg+xml",png:"image/png",jpg:"image/jpeg",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif",jfif:"image/jfif"},Kd=["text/plain","text/html"],B={json:"application/json",excalidraw:"application/vnd.excalidraw+json",excalidrawlib:"application/vnd.excalidrawlib+json","excalidraw.svg":"image/svg+xml","excalidraw.png":"image/png",binary:"application/octet-stream",...qa},Tb={png:"png",svg:"svg",clipboard:"clipboard"},Pe={excalidraw:"excalidraw",excalidrawClipboard:"excalidraw/clipboard",excalidrawLibrary:"excalidrawlib",excalidrawClipboardWithAPI:"excalidraw-api/clipboard"},Ja=window.EXCALIDRAW_EXPORT_SOURCE||window.location.origin,Ab=500,Sb=300,_b=500;var Ib=100,Pb=.1,jd=.1,Mb=30,Db=300;var ni=Ka.themeFilter,Cb={addLibrary:"addLibrary"},Lb={addLibrary:"addLibrary"},kb={canvasActions:{changeViewBackgroundColor:!0,clearCanvas:!0,export:{saveFileToDisk:!0},loadScene:!0,saveToActiveFile:!0,toggleTheme:null,saveAsImage:!0},tools:{image:!0}},Ob=730,Rb=1e3,Fb=500,Nb=1229,Bb=parseInt(Ka.rightSidebarWidth),ar=2,qd=[1,2,3],Qa=10,Gb=1440,zb=2*1024*1024,Q="http://www.w3.org/2000/svg";var es={excalidraw:2,excalidrawLibrary:2},me=5,Jd=.7,Qd=11,zt={TOP:"top",MIDDLE:"middle",BOTTOM:"bottom"},ts={LEFT:"left",CENTER:"center",RIGHT:"right"},eu=20,ri=.25,tu=32,Fe={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},ns={architect:0,artist:1,cartoonist:2},Hb={thin:1,bold:2,extraBold:4},ne={strokeColor:H.black,backgroundColor:H.transparent,fillStyle:"solid",strokeWidth:2,strokeStyle:"solid",roughness:ns.artist,opacity:100,locked:!1},tg="library",nu={name:"default",defaultTab:tg},Ub=new Set(["iframe","embeddable","image"]),Vb={selection:"selection",rectangle:"rectangle",diamond:"diamond",ellipse:"ellipse",arrow:"arrow",line:"line",freedraw:"freedraw",text:"text",image:"image",eraser:"eraser",hand:"hand",frame:"frame",magicframe:"magicframe",embeddable:"embeddable",laser:"laser"},$b={OAI_API_KEY:"excalidraw-oai-api-key",MERMAID_TO_EXCALIDRAW:"mermaid-to-excalidraw",PUBLISH_LIBRARY:"publish-library-data"},ru="Untitled",rs={generalStats:1,elementProperties:2},Yb=1;g();g();g();var oi=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");g();var ng=qd.includes(devicePixelRatio)?devicePixelRatio:1,nt=()=>({showWelcomeScreen:!1,theme:Re.LIGHT,collaborators:new Map,currentChartType:"bar",currentItemBackgroundColor:ne.backgroundColor,currentItemEndArrowhead:"arrow",currentItemFillStyle:ne.fillStyle,currentItemFontFamily:tt,currentItemFontSize:Tt,currentItemOpacity:ne.opacity,currentItemRoughness:ne.roughness,currentItemStartArrowhead:null,currentItemStrokeColor:ne.strokeColor,currentItemRoundness:"round",currentItemStrokeStyle:ne.strokeStyle,currentItemStrokeWidth:ne.strokeWidth,currentItemTextAlign:ir,cursorButton:"up",activeEmbeddable:null,draggingElement:null,editingElement:null,editingGroupId:null,editingLinearElement:null,activeTool:{type:"selection",customType:null,locked:ne.locked,lastActiveTool:null},penMode:!1,penDetected:!1,errorMessage:null,exportBackground:!0,exportScale:ng,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:null,isBindingEnabled:!0,defaultSidebarDockedPreference:!1,isLoading:!1,isResizing:!1,isRotating:!1,lastPointerDownWith:"mouse",multiElement:null,name:null,contextMenu:null,openMenu:null,openPopup:null,openSidebar:null,openDialog:null,pasteDialog:{shown:!1,data:null},previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},selectedGroupIds:{},selectedElementsAreBeingDragged:!1,selectionElement:null,shouldCacheIgnoreZoom:!1,stats:{open:!1,panels:rs.generalStats|rs.elementProperties},startBoundElement:null,suggestedBindings:[],frameRendering:{enabled:!0,clip:!0,name:!0,outline:!0},frameToHighlight:null,editingFrame:null,elementsToHighlight:null,toast:null,viewBackgroundColor:H.white,zenModeEnabled:!1,zoom:{value:1},viewModeEnabled:!1,pendingImageElementId:null,showHyperlinkPopup:!1,selectedLinearElement:null,snapLines:[],originSnapOffset:{x:0,y:0},objectsSnapModeEnabled:!1,userToFollow:null,followedBy:new Set}),rg=(e=>e)({showWelcomeScreen:{browser:!0,export:!1,server:!1},theme:{browser:!0,export:!1,server:!1},collaborators:{browser:!1,export:!1,server:!1},currentChartType:{browser:!0,export:!1,server:!1},currentItemBackgroundColor:{browser:!0,export:!1,server:!1},currentItemEndArrowhead:{browser:!0,export:!1,server:!1},currentItemFillStyle:{browser:!0,export:!1,server:!1},currentItemFontFamily:{browser:!0,export:!1,server:!1},currentItemFontSize:{browser:!0,export:!1,server:!1},currentItemRoundness:{browser:!0,export:!1,server:!1},currentItemOpacity:{browser:!0,export:!1,server:!1},currentItemRoughness:{browser:!0,export:!1,server:!1},currentItemStartArrowhead:{browser:!0,export:!1,server:!1},currentItemStrokeColor:{browser:!0,export:!1,server:!1},currentItemStrokeStyle:{browser:!0,export:!1,server:!1},currentItemStrokeWidth:{browser:!0,export:!1,server:!1},currentItemTextAlign:{browser:!0,export:!1,server:!1},cursorButton:{browser:!0,export:!1,server:!1},activeEmbeddable:{browser:!1,export:!1,server:!1},draggingElement:{browser:!1,export:!1,server:!1},editingElement:{browser:!1,export:!1,server:!1},editingGroupId:{browser:!0,export:!1,server:!1},editingLinearElement:{browser:!1,export:!1,server:!1},activeTool:{browser:!0,export:!1,server:!1},penMode:{browser:!0,export:!1,server:!1},penDetected:{browser:!0,export:!1,server:!1},errorMessage:{browser:!1,export:!1,server:!1},exportBackground:{browser:!0,export:!1,server:!1},exportEmbedScene:{browser:!0,export:!1,server:!1},exportScale:{browser:!0,export:!1,server:!1},exportWithDarkMode:{browser:!0,export:!1,server:!1},fileHandle:{browser:!1,export:!1,server:!1},gridSize:{browser:!0,export:!0,server:!0},height:{browser:!1,export:!1,server:!1},isBindingEnabled:{browser:!1,export:!1,server:!1},defaultSidebarDockedPreference:{browser:!0,export:!1,server:!1},isLoading:{browser:!1,export:!1,server:!1},isResizing:{browser:!1,export:!1,server:!1},isRotating:{browser:!1,export:!1,server:!1},lastPointerDownWith:{browser:!0,export:!1,server:!1},multiElement:{browser:!1,export:!1,server:!1},name:{browser:!0,export:!1,server:!1},offsetLeft:{browser:!1,export:!1,server:!1},offsetTop:{browser:!1,export:!1,server:!1},contextMenu:{browser:!1,export:!1,server:!1},openMenu:{browser:!0,export:!1,server:!1},openPopup:{browser:!1,export:!1,server:!1},openSidebar:{browser:!0,export:!1,server:!1},openDialog:{browser:!1,export:!1,server:!1},pasteDialog:{browser:!1,export:!1,server:!1},previousSelectedElementIds:{browser:!0,export:!1,server:!1},resizingElement:{browser:!1,export:!1,server:!1},scrolledOutside:{browser:!0,export:!1,server:!1},scrollX:{browser:!0,export:!1,server:!1},scrollY:{browser:!0,export:!1,server:!1},selectedElementIds:{browser:!0,export:!1,server:!1},selectedGroupIds:{browser:!0,export:!1,server:!1},selectedElementsAreBeingDragged:{browser:!1,export:!1,server:!1},selectionElement:{browser:!1,export:!1,server:!1},shouldCacheIgnoreZoom:{browser:!0,export:!1,server:!1},stats:{browser:!0,export:!1,server:!1},startBoundElement:{browser:!1,export:!1,server:!1},suggestedBindings:{browser:!1,export:!1,server:!1},frameRendering:{browser:!1,export:!1,server:!1},frameToHighlight:{browser:!1,export:!1,server:!1},editingFrame:{browser:!1,export:!1,server:!1},elementsToHighlight:{browser:!1,export:!1,server:!1},toast:{browser:!1,export:!1,server:!1},viewBackgroundColor:{browser:!0,export:!0,server:!0},width:{browser:!1,export:!1,server:!1},zenModeEnabled:{browser:!0,export:!1,server:!1},zoom:{browser:!0,export:!1,server:!1},viewModeEnabled:{browser:!1,export:!1,server:!1},pendingImageElementId:{browser:!1,export:!1,server:!1},showHyperlinkPopup:{browser:!1,export:!1,server:!1},selectedLinearElement:{browser:!0,export:!1,server:!1},snapLines:{browser:!1,export:!1,server:!1},originSnapOffset:{browser:!1,export:!1,server:!1},objectsSnapModeEnabled:{browser:!0,export:!1,server:!1},userToFollow:{browser:!1,export:!1,server:!1},followedBy:{browser:!1,export:!1,server:!1}}),ou=(e,t)=>{let n={};for(let r of Object.keys(e))if(rg[r]?.[t]){let i=e[r];n[r]=i}return n};var ii=e=>ou(e,"export"),iu=e=>ou(e,"server"),au=({activeTool:e})=>e.type==="eraser",su=({activeTool:e})=>e.type==="hand";g();g();g();g();g();g();var lu=null;var s1=()=>{if(lu)return lu;let e=new Date,t=e.getFullYear(),n=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0"),o=`${e.getHours()}`.padStart(2,"0"),i=`${e.getMinutes()}`.padStart(2,"0");return`${t}-${n}-${r}-${o}${i}`},l1=e=>e.charAt(0).toUpperCase()+e.slice(1),c1=e=>e instanceof HTMLElement&&e.className.includes("ToolIcon"),og=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement,d1=e=>og(e)||e instanceof Element&&!!e.closest("label, button"),u1=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&(e.type==="text"||e.type==="number"||e.type==="password"),os=({fontFamily:e})=>{for(let[t,n]of Object.entries(Ee))if(n===e)return`${t}, ${ja}`;return ja},se=({fontSize:e,fontFamily:t})=>`${e}px ${os({fontFamily:t})}`,uu=(e,t)=>{let n=0,r=null,o=(...i)=>{r=i,clearTimeout(n),n=window.setTimeout(()=>{r=null,e(...i)},t)};return o.flush=()=>{if(clearTimeout(n),r){let i=r;r=null,e(...i)}},o.cancel=()=>{r=null,clearTimeout(n)},o},fu=(e,t)=>{let n=null,r=null,o=null,i=s=>{n=window.requestAnimationFrame(()=>{n=null,e(...s),r=null,o&&(r=o,o=null,i(r))})},a=(...s)=>{if(v.MODE==="test"){e(...s);return}r=s,n===null?i(r):t?.trailing&&(o=s)};return a.flush=()=>{n!==null&&(cancelAnimationFrame(n),n=null),r&&(e(...o||r),r=o=null)},a.cancel=()=>{r=o=null,n!==null&&(cancelAnimationFrame(n),n=null)},a},pu=e=>1-Math.pow(1-e,4),cu=(e,t,n)=>(t-e)*pu(n)+e,f1=({fromValues:e,toValues:t,onStep:n,duration:r=250,interpolateValue:o,onStart:i,onEnd:a,onCancel:s})=>{let c=!1,l=0,d;function u(f){if(c)return;d===void 0&&(d=f,i?.());let p=Math.min(f-d,r),m=pu(p/r),h={};if(Object.keys(e).forEach(E=>{let x=E,w=(t[x]-e[x])*m+e[x];h[x]=w}),n(h),p<r){let E=p/r,x={};Object.keys(e).forEach(w=>{let y=w,T=e[y],b=t[y],D;D=o?o(T,b,E,y):cu(T,b,E),D==null&&(D=cu(T,b,E)),x[y]=D}),n(x),l=window.requestAnimationFrame(u)}else n(t),a?.()}return l=window.requestAnimationFrame(u),()=>{s?.(),c=!0,window.cancelAnimationFrame(l)}},p1=(e,t)=>{if(!e.length||t<1)return[];let n=0,r=0,o=Array(Math.ceil(e.length/t));for(;n<e.length;)o[r++]=e.slice(n,n+=t);return o};var We=(e,t)=>Math.abs(e-t),Xr=(e,t)=>t.type==="custom"?{...e.activeTool,type:"custom",customType:t.customType,locked:t.locked??e.activeTool.locked}:{...e.activeTool,lastActiveTool:t.lastActiveToolBeforeEraser===void 0?e.activeTool.lastActiveTool:t.lastActiveToolBeforeEraser,type:t.type,customType:null,locked:t.locked??e.activeTool.locked};var m1=e=>(e=e.replace(/\bAlt\b/i,"Alt").replace(/\bShift\b/i,"Shift").replace(/\b(Enter|Return)\b/i,"Enter"),qo?e.replace(/\bCtrlOrCmd\b/gi,"Cmd").replace(/\bAlt\b/i,"Option"):e.replace(/\bCtrlOrCmd\b/gi,"Ctrl")),Zr=({clientX:e,clientY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e-r)/n.value-i,c=(t-o)/n.value-a;return{x:s,y:c}},is=({sceneX:e,sceneY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e+i)*n.value+r,c=(t+a)*n.value+o;return{x:s,y:c}},h1=e=>getComputedStyle(document.documentElement).getPropertyValue(`--${e}`),ig="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF",ag="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",sg=new RegExp(`^[^${ig}]*[${ag}]`),si=e=>sg.test(e),sr=e=>{let[t,n]=e;return{x:t,y:n}},E1=e=>{if(e?.name==="AbortError"){console.warn(e);return}throw e},g1=(e,t,n=0)=>{n<0&&(n=e.length+n),n=Math.min(e.length,Math.max(n,0));let r=n-1;for(;++r<e.length;)if(t(e[r],r,e))return r;return-1},x1=(e,t,n=e.length-1)=>{n<0&&(n=e.length+n),n=Math.min(e.length-1,Math.max(n,0));let r=n+1;for(;--r>-1;)if(t(e[r],r,e))return r;return-1},un=e=>{let t=e.length===5&&e.substr(4,1)==="0",n=e.length===9&&e.substr(7,2)==="00";return t||n||e===H.transparent},w1=()=>{let e,t,n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n};var y1=e=>{let t=e.parentElement;for(;t;){if(t===document.body)return document;let{overflowY:n}=window.getComputedStyle(t);if(t.scrollHeight>t.clientHeight&&(n==="auto"||n==="scroll"||n==="overlay"))return t;t=t.parentElement}return document},b1=e=>{let t=e.parentElement;for(;t;){if(t.tabIndex>-1){t.focus();return}t=t.parentElement}},v1=e=>{e.preventDefault(),e.returnValue=""},mu=e=>Array.from(e).map(t=>`0${t.toString(16)}`.slice(-2)).join(""),Ht=()=>Ut()?1:Date.now(),X=e=>e instanceof Map?e:e.reduce((t,n)=>(t.set(typeof n=="string"?n:n.id,n),t),new Map),T1=e=>e.reduce((t,n,r)=>(t.set(n.id,[n,r]),t),new Map),At=(e,t)=>e.reduce((n,r)=>(n[t?t(r):String(r)]=r,n),{}),Ut=()=>v.MODE==="test",A1=()=>v.MODE==="development",S1=(e,t)=>new CustomEvent(e,{detail:{nativeEvent:t},cancelable:!0}),_1=(e,t)=>{let n=!1;for(let r in t){let o=t[r];if(typeof o<"u"){if(e[r]===o&&(typeof o!="object"||o===null))continue;n=!0}}return n?{...e,...t}:e};var I1=()=>{try{return window.self===window.top?"top":"iframe"}catch{return"iframe"}};var li=e=>!!e&&typeof e=="object"&&"then"in e&&"catch"in e&&"finally"in e,P1=e=>{let t=e?.querySelectorAll("button, a, input, select, textarea, div[tabindex], label[tabindex]");return t?Array.from(t).filter(n=>n.tabIndex>-1&&!n.disabled):[]},du=(e,t)=>Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t,Vt=(e,t,n,r=!1)=>{let o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return r&&console.warn("%cisShallowEqual: objects don't have same properties ->","color: #8B4000",e,t),!1;if(n&&Array.isArray(n)){for(let a of n)if(!(e[a]===t[a]||du(e[a],t[a])))return r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),!1;return!0}return o.every(a=>{let s=n?.[a],c=s?s(e[a],t[a]):e[a]===t[a]||du(e[a],t[a]);return!c&&r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),c})},M1=(e,t,{checkForDefaultPrevented:n=!0}={})=>function(o){if(e?.(o),!n||!o?.defaultPrevented)return t?.(o)},Rn=(e,t,n)=>{if(!t)return e;if(n)return console.error(t),e;throw new Error(t)},D1=e=>{let t,n,r=function(o){let i=Object.entries(o);if(t){let s=!0;for(let[c,l]of i)if(t.get(c)!==l){s=!1;break}if(s)return n}let a=e(o);return t=new Map(i),n=a,a};return r.clear=()=>{t=void 0,n=void 0},r},hu=(e,t)=>e instanceof Set||e instanceof Map?e.has(t):"includes"in e?e.includes(t):e.hasOwnProperty(t),C1=e=>JSON.parse(JSON.stringify(e)),L1=e=>typeof e=="number"&&Number.isFinite(e),k1=(e,t)=>Vt(e,t)?e:t;function O1(e,t,n,r){return e?(e?.addEventListener?.(t,n,r),()=>{e?.removeEventListener?.(t,n,r)}):()=>{}}var ai=(e,t)=>(e+t)/2;function R1(e,t=!0){let n=e.length;if(n<4)return"";let r=e[0],o=e[1],i=e[2],a=`M${r[0].toFixed(2)},${r[1].toFixed(2)} Q${o[0].toFixed(2)},${o[1].toFixed(2)} ${ai(o[0],i[0]).toFixed(2)},${ai(o[1],i[1]).toFixed(2)} T`;for(let s=2,c=n-1;s<c;s++)r=e[s],o=e[s+1],a+=`${ai(r[0],o[0]).toFixed(2)},${ai(r[1],o[1]).toFixed(2)} `;return t&&(a+="Z"),a}var Eu=e=>e.replace(/\r?\n|\r/g,`
|
|
2
|
-
`),$t=e=>e,F1=async(e,...t)=>new Promise(n=>{n(e(...t))});var St=e=>!!e&&e.type==="image"&&!!e.fileId,ci=e=>!!e&&e.type==="image",di=e=>!!e&&e.type==="embeddable",Kr=e=>!!e&&e.type==="iframe",rt=e=>!!e&&(e.type==="iframe"||e.type==="embeddable"),$=e=>e!=null&&e.type==="text",jr=e=>e!=null&&e.type==="frame",gu=e=>e!=null&&e.type==="magicframe",ee=e=>e!=null&&(e.type==="frame"||e.type==="magicframe"),ge=e=>e!=null&&lg(e.type),lg=e=>e==="freedraw",J=e=>e!=null&&as(e.type),j=e=>e!=null&&e.type==="arrow",as=e=>e==="arrow"||e==="line",qr=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&cg(e.type),cg=e=>e==="arrow",Fn=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||e.type==="image"||e.type==="iframe"||e.type==="embeddable"||e.type==="frame"||e.type==="magicframe"||e.type==="text"&&!e.containerId),dg=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||j(e)),ss=e=>{let t=e?.type;if(!t)return!1;switch(t){case"text":case"diamond":case"rectangle":case"iframe":case"embeddable":case"ellipse":case"arrow":case"freedraw":case"line":case"frame":case"magicframe":case"image":case"selection":return!0;default:return Rn(t,null),!1}},lr=e=>dg(e)&&!!e.boundElements?.some(({type:t})=>t==="text"),be=e=>e!==null&&"containerId"in e&&e.containerId!==null&&$(e),ui=e=>e==="rectangle"||e==="embeddable"||e==="iframe"||e==="image",xu=e=>e==="line"||e==="arrow"||e==="diamond",H1=(e,t)=>!!((e===Fe.ADAPTIVE_RADIUS||e===Fe.LEGACY)&&ui(t.type)||e===Fe.PROPORTIONAL_RADIUS&&xu(t.type)),U1=e=>xu(e.type)?{type:Fe.PROPORTIONAL_RADIUS}:ui(e.type)?{type:Fe.ADAPTIVE_RADIUS}:null;g();g();g();g();g();g();g();g();g();g();g();g();function ls(e,t,n){if(e&&e.length){let[r,o]=t,i=Math.PI/180*n,a=Math.cos(i),s=Math.sin(i);for(let c of e){let[l,d]=c;c[0]=(l-r)*a-(d-o)*s+r,c[1]=(l-r)*s+(d-o)*a+o}}}function ug(e,t,n){let r=[];e.forEach(o=>r.push(...o)),ls(r,t,n)}function fg(e,t){return e[0]===t[0]&&e[1]===t[1]}function wu(e,t,n,r=1){let o=n,i=Math.max(t,.1),a=e[0]&&e[0][0]&&typeof e[0][0]=="number"?[e]:e,s=[0,0];if(o)for(let l of a)ls(l,s,o);let c=pg(a,i,r);if(o){for(let l of a)ls(l,s,-o);ug(c,s,-o)}return c}function pg(e,t,n){let r=[];for(let l of e){let d=[...l];fg(d[0],d[d.length-1])||d.push([d[0][0],d[0][1]]),d.length>2&&r.push(d)}let o=[];t=Math.max(t,.1);let i=[];for(let l of r)for(let d=0;d<l.length-1;d++){let u=l[d],f=l[d+1];if(u[1]!==f[1]){let p=Math.min(u[1],f[1]);i.push({ymin:p,ymax:Math.max(u[1],f[1]),x:p===u[1]?u[0]:f[0],islope:(f[0]-u[0])/(f[1]-u[1])})}}if(i.sort((l,d)=>l.ymin<d.ymin?-1:l.ymin>d.ymin?1:l.x<d.x?-1:l.x>d.x?1:l.ymax===d.ymax?0:(l.ymax-d.ymax)/Math.abs(l.ymax-d.ymax)),!i.length)return o;let a=[],s=i[0].ymin,c=0;for(;a.length||i.length;){if(i.length){let l=-1;for(let u=0;u<i.length&&!(i[u].ymin>s);u++)l=u;i.splice(0,l+1).forEach(u=>{a.push({s,edge:u})})}if(a=a.filter(l=>!(l.edge.ymax<=s)),a.sort((l,d)=>l.edge.x===d.edge.x?0:(l.edge.x-d.edge.x)/Math.abs(l.edge.x-d.edge.x)),(n!==1||c%t===0)&&a.length>1)for(let l=0;l<a.length;l=l+2){let d=l+1;if(d>=a.length)break;let u=a[l].edge,f=a[d].edge;o.push([[Math.round(u.x),s],[Math.round(f.x),s]])}s+=n,a.forEach(l=>{l.edge.x=l.edge.x+n*l.edge.islope}),c++}return o}function _t(e,t){var n;let r=t.hachureAngle+90,o=t.hachureGap;o<0&&(o=t.strokeWidth*4),o=Math.max(o,.1);let i=1;return t.roughness>=1&&(((n=t.randomizer)===null||n===void 0?void 0:n.next())||Math.random())>.7&&(i=o),wu(e,o,r,i||1)}var fn=class{constructor(t){this.helper=t}fillPolygons(t,n){return this._fillPolygons(t,n)}_fillPolygons(t,n){let r=_t(t,n);return{type:"fillSketch",ops:this.renderLines(r,n)}}renderLines(t,n){let r=[];for(let o of t)r.push(...this.helper.doubleLineOps(o[0][0],o[0][1],o[1][0],o[1][1],n));return r}};g();g();function pn(e){let t=e[0],n=e[1];return Math.sqrt(Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2))}var fi=class extends fn{fillPolygons(t,n){let r=n.hachureGap;r<0&&(r=n.strokeWidth*4),r=Math.max(r,.1);let o=Object.assign({},n,{hachureGap:r}),i=_t(t,o),a=Math.PI/180*n.hachureAngle,s=[],c=r*.5*Math.cos(a),l=r*.5*Math.sin(a);for(let[u,f]of i)pn([u,f])&&s.push([[u[0]-c,u[1]+l],[...f]],[[u[0]+c,u[1]-l],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,n)}}};g();var pi=class extends fn{fillPolygons(t,n){let r=this._fillPolygons(t,n),o=Object.assign({},n,{hachureAngle:n.hachureAngle+90}),i=this._fillPolygons(t,o);return r.ops=r.ops.concat(i.ops),r}};g();var mi=class{constructor(t){this.helper=t}fillPolygons(t,n){n=Object.assign({},n,{hachureAngle:0});let r=_t(t,n);return this.dotsOnLines(r,n)}dotsOnLines(t,n){let r=[],o=n.hachureGap;o<0&&(o=n.strokeWidth*4),o=Math.max(o,.1);let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=o/4;for(let s of t){let c=pn(s),l=c/o,d=Math.ceil(l)-1,u=c-d*o,f=(s[0][0]+s[1][0])/2-o/4,p=Math.min(s[0][1],s[1][1]);for(let m=0;m<d;m++){let h=p+u+m*o,E=f-a+Math.random()*2*a,x=h-a+Math.random()*2*a,w=this.helper.ellipse(E,x,i,i,n);r.push(...w.ops)}}return{type:"fillSketch",ops:r}}};g();var hi=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=_t(t,n);return{type:"fillSketch",ops:this.dashedLine(r,n)}}dashedLine(t,n){let r=n.dashOffset<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashOffset,o=n.dashGap<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashGap,i=[];return t.forEach(a=>{let s=pn(a),c=Math.floor(s/(r+o)),l=(s+o-c*(r+o))/2,d=a[0],u=a[1];d[0]>u[0]&&(d=a[1],u=a[0]);let f=Math.atan((u[1]-d[1])/(u[0]-d[0]));for(let p=0;p<c;p++){let m=p*(r+o),h=m+r,E=[d[0]+m*Math.cos(f)+l*Math.cos(f),d[1]+m*Math.sin(f)+l*Math.sin(f)],x=[d[0]+h*Math.cos(f)+l*Math.cos(f),d[1]+h*Math.sin(f)+l*Math.sin(f)];i.push(...this.helper.doubleLineOps(E[0],E[1],x[0],x[1],n))}}),i}};g();var Ei=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=n.hachureGap<0?n.strokeWidth*4:n.hachureGap,o=n.zigzagOffset<0?r:n.zigzagOffset;n=Object.assign({},n,{hachureGap:r+o});let i=_t(t,n);return{type:"fillSketch",ops:this.zigzagLines(i,o,n)}}zigzagLines(t,n,r){let o=[];return t.forEach(i=>{let a=pn(i),s=Math.round(a/(2*n)),c=i[0],l=i[1];c[0]>l[0]&&(c=i[1],l=i[0]);let d=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let u=0;u<s;u++){let f=u*2*n,p=(u+1)*2*n,m=Math.sqrt(2*Math.pow(n,2)),h=[c[0]+f*Math.cos(d),c[1]+f*Math.sin(d)],E=[c[0]+p*Math.cos(d),c[1]+p*Math.sin(d)],x=[h[0]+m*Math.cos(d+Math.PI/4),h[1]+m*Math.sin(d+Math.PI/4)];o.push(...this.helper.doubleLineOps(h[0],h[1],x[0],x[1],r),...this.helper.doubleLineOps(x[0],x[1],E[0],E[1],r))}}),o}};var Me={};function yu(e,t){let n=e.fillStyle||"hachure";if(!Me[n])switch(n){case"zigzag":Me[n]||(Me[n]=new fi(t));break;case"cross-hatch":Me[n]||(Me[n]=new pi(t));break;case"dots":Me[n]||(Me[n]=new mi(t));break;case"dashed":Me[n]||(Me[n]=new hi(t));break;case"zigzag-line":Me[n]||(Me[n]=new Ei(t));break;case"hachure":default:n="hachure",Me[n]||(Me[n]=new fn(t));break}return Me[n]}g();function bu(){return Math.floor(Math.random()*2**31)}var cr=class{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};g();g();var gi={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function mg(e){let t=new Array;for(;e!=="";)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else if(e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))t[t.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length);else return[];return t[t.length]={type:2,text:""},t}function cs(e,t){return e.type===t}function dr(e){let t=[],n=mg(e),r="BOD",o=0,i=n[o];for(;!cs(i,2);){let a=0,s=[];if(r==="BOD")if(i.text==="M"||i.text==="m")o++,a=gi[i.text],r=i.text;else return dr("M0,0"+e);else cs(i,1)?a=gi[r]:(o++,a=gi[i.text],r=i.text);if(o+a<n.length){for(let c=o;c<o+a;c++){let l=n[c];if(cs(l,1))s[s.length]=+l.text;else throw new Error("Param not a number: "+r+","+l.text)}if(typeof gi[r]=="number"){let c={key:r,data:s};t.push(c),o+=a,i=n[o],r==="M"&&(r="L"),r==="m"&&(r="l")}else throw new Error("Bad segment: "+r)}else throw new Error("Path data ended short")}return t}g();function Jr(e){let t=0,n=0,r=0,o=0,i=[];for(let{key:a,data:s}of e)switch(a){case"M":i.push({key:"M",data:[...s]}),[t,n]=s,[r,o]=s;break;case"m":t+=s[0],n+=s[1],i.push({key:"M",data:[t,n]}),r=t,o=n;break;case"L":i.push({key:"L",data:[...s]}),[t,n]=s;break;case"l":t+=s[0],n+=s[1],i.push({key:"L",data:[t,n]});break;case"C":i.push({key:"C",data:[...s]}),t=s[4],n=s[5];break;case"c":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"C",data:c}),t=c[4],n=c[5];break}case"Q":i.push({key:"Q",data:[...s]}),t=s[2],n=s[3];break;case"q":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"Q",data:c}),t=c[2],n=c[3];break}case"A":i.push({key:"A",data:[...s]}),t=s[5],n=s[6];break;case"a":t+=s[5],n+=s[6],i.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case"H":i.push({key:"H",data:[...s]}),t=s[0];break;case"h":t+=s[0],i.push({key:"H",data:[t]});break;case"V":i.push({key:"V",data:[...s]}),n=s[0];break;case"v":n+=s[0],i.push({key:"V",data:[n]});break;case"S":i.push({key:"S",data:[...s]}),t=s[2],n=s[3];break;case"s":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"S",data:c}),t=c[2],n=c[3];break}case"T":i.push({key:"T",data:[...s]}),t=s[0],n=s[1];break;case"t":t+=s[0],n+=s[1],i.push({key:"T",data:[t,n]});break;case"Z":case"z":i.push({key:"Z",data:[]}),t=r,n=o;break}return i}g();function eo(e){let t=[],n="",r=0,o=0,i=0,a=0,s=0,c=0;for(let{key:l,data:d}of e){switch(l){case"M":t.push({key:"M",data:[...d]}),[r,o]=d,[i,a]=d;break;case"C":t.push({key:"C",data:[...d]}),r=d[4],o=d[5],s=d[2],c=d[3];break;case"L":t.push({key:"L",data:[...d]}),[r,o]=d;break;case"H":r=d[0],t.push({key:"L",data:[r,o]});break;case"V":o=d[0],t.push({key:"L",data:[r,o]});break;case"S":{let u=0,f=0;n==="C"||n==="S"?(u=r+(r-s),f=o+(o-c)):(u=r,f=o),t.push({key:"C",data:[u,f,...d]}),s=d[0],c=d[1],r=d[2],o=d[3];break}case"T":{let[u,f]=d,p=0,m=0;n==="Q"||n==="T"?(p=r+(r-s),m=o+(o-c)):(p=r,m=o);let h=r+2*(p-r)/3,E=o+2*(m-o)/3,x=u+2*(p-u)/3,w=f+2*(m-f)/3;t.push({key:"C",data:[h,E,x,w,u,f]}),s=p,c=m,r=u,o=f;break}case"Q":{let[u,f,p,m]=d,h=r+2*(u-r)/3,E=o+2*(f-o)/3,x=p+2*(u-p)/3,w=m+2*(f-m)/3;t.push({key:"C",data:[h,E,x,w,p,m]}),s=u,c=f,r=p,o=m;break}case"A":{let u=Math.abs(d[0]),f=Math.abs(d[1]),p=d[2],m=d[3],h=d[4],E=d[5],x=d[6];u===0||f===0?(t.push({key:"C",data:[r,o,E,x,E,x]}),r=E,o=x):(r!==E||o!==x)&&(vu(r,o,E,x,u,f,p,m,h).forEach(function(y){t.push({key:"C",data:y})}),r=E,o=x);break}case"Z":t.push({key:"Z",data:[]}),r=i,o=a;break}n=l}return t}function hg(e){return Math.PI*e/180}function Qr(e,t,n){let r=e*Math.cos(n)-t*Math.sin(n),o=e*Math.sin(n)+t*Math.cos(n);return[r,o]}function vu(e,t,n,r,o,i,a,s,c,l){let d=hg(a),u=[],f=0,p=0,m=0,h=0;if(l)[f,p,m,h]=l;else{[e,t]=Qr(e,t,-d),[n,r]=Qr(n,r,-d);let M=(e-n)/2,k=(t-r)/2,Y=M*M/(o*o)+k*k/(i*i);Y>1&&(Y=Math.sqrt(Y),o=Y*o,i=Y*i);let O=s===c?-1:1,F=o*o,L=i*i,C=F*L-F*k*k-L*M*M,z=F*k*k+L*M*M,U=O*Math.sqrt(Math.abs(C/z));m=U*o*k/i+(e+n)/2,h=U*-i*M/o+(t+r)/2,f=Math.asin(parseFloat(((t-h)/i).toFixed(9))),p=Math.asin(parseFloat(((r-h)/i).toFixed(9))),e<m&&(f=Math.PI-f),n<m&&(p=Math.PI-p),f<0&&(f=Math.PI*2+f),p<0&&(p=Math.PI*2+p),c&&f>p&&(f=f-Math.PI*2),!c&&p>f&&(p=p-Math.PI*2)}let E=p-f;if(Math.abs(E)>Math.PI*120/180){let M=p,k=n,Y=r;c&&p>f?p=f+Math.PI*120/180*1:p=f+Math.PI*120/180*-1,n=m+o*Math.cos(p),r=h+i*Math.sin(p),u=vu(n,r,k,Y,o,i,a,0,c,[p,M,m,h])}E=p-f;let x=Math.cos(f),w=Math.sin(f),y=Math.cos(p),T=Math.sin(p),b=Math.tan(E/4),D=4/3*o*b,S=4/3*i*b,A=[e,t],I=[e+D*w,t-S*x],P=[n+D*T,r-S*y],_=[n,r];if(I[0]=2*A[0]-I[0],I[1]=2*A[1]-I[1],l)return[I,P,_].concat(u);{u=[I,P,_].concat(u);let M=[];for(let k=0;k<u.length;k+=3){let Y=Qr(u[k][0],u[k][1],d),O=Qr(u[k+1][0],u[k+1][1],d),F=Qr(u[k+2][0],u[k+2][1],d);M.push([Y[0],Y[1],O[0],O[1],F[0],F[1]])}return M}}var Eg={randOffset:wg,randOffsetWithRange:yg,ellipse:xg,doubleLineOps:bg};function ds(e,t,n,r,o){return{type:"path",ops:Yt(e,t,n,r,o)}}function to(e,t,n){let r=(e||[]).length;if(r>2){let o=[];for(let i=0;i<r-1;i++)o.push(...Yt(e[i][0],e[i][1],e[i+1][0],e[i+1][1],n));return t&&o.push(...Yt(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:"path",ops:o}}else if(r===2)return ds(e[0][0],e[0][1],e[1][0],e[1][1],n);return{type:"path",ops:[]}}function gg(e,t){return to(e,!0,t)}function Iu(e,t,n,r,o){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];return gg(i,o)}function us(e,t){let n=Au(e,1*(1+t.roughness*.2),t);if(!t.disableMultiStroke){let r=Au(e,1.5*(1+t.roughness*.22),vg(t));n=n.concat(r)}return{type:"path",ops:n}}function xg(e,t,n,r,o){let i=fs(n,r,o);return yi(e,t,o,i).opset}function fs(e,t,n){let r=Math.sqrt(Math.PI*2*Math.sqrt((Math.pow(e/2,2)+Math.pow(t/2,2))/2)),o=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),i=Math.PI*2/o,a=Math.abs(e/2),s=Math.abs(t/2),c=1-n.curveFitting;return a+=N(a*c,n),s+=N(s*c,n),{increment:i,rx:a,ry:s}}function yi(e,t,n,r){let[o,i]=Su(r.increment,e,t,r.rx,r.ry,1,r.increment*xi(.1,xi(.4,1,n),n),n),a=wi(o,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[s]=Su(r.increment,e,t,r.rx,r.ry,1.5,0,n),c=wi(s,null,n);a=a.concat(c)}return{estimatedPoints:i,opset:{type:"path",ops:a}}}function ps(e,t,n,r,o,i,a,s,c){let l=e,d=t,u=Math.abs(n/2),f=Math.abs(r/2);u+=N(u*.01,c),f+=N(f*.01,c);let p=o,m=i;for(;p<0;)p+=Math.PI*2,m+=Math.PI*2;m-p>Math.PI*2&&(p=0,m=Math.PI*2);let h=Math.PI*2/c.curveStepCount,E=Math.min(h/2,(m-p)/2),x=_u(E,l,d,u,f,p,m,1,c);if(!c.disableMultiStroke){let w=_u(E,l,d,u,f,p,m,1.5,c);x.push(...w)}return a&&(s?x.push(...Yt(l,d,l+u*Math.cos(p),d+f*Math.sin(p),c),...Yt(l,d,l+u*Math.cos(m),d+f*Math.sin(m),c)):x.push({op:"lineTo",data:[l,d]},{op:"lineTo",data:[l+u*Math.cos(p),d+f*Math.sin(p)]})),{type:"path",ops:x}}function ms(e,t){let n=eo(Jr(dr(e))),r=[],o=[0,0],i=[0,0];for(let{key:a,data:s}of n)switch(a){case"M":{i=[s[0],s[1]],o=[s[0],s[1]];break}case"L":r.push(...Yt(i[0],i[1],s[0],s[1],t)),i=[s[0],s[1]];break;case"C":{let[c,l,d,u,f,p]=s;r.push(...Tg(c,l,d,u,f,p,i,t)),i=[f,p];break}case"Z":r.push(...Yt(i[0],i[1],o[0],o[1],t)),i=[o[0],o[1]];break}return{type:"path",ops:r}}function bi(e,t){let n=[];for(let r of e)if(r.length){let o=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:"move",data:[r[0][0]+N(o,t),r[0][1]+N(o,t)]});for(let a=1;a<i;a++)n.push({op:"lineTo",data:[r[a][0]+N(o,t),r[a][1]+N(o,t)]})}}return{type:"fillPath",ops:n}}function Nn(e,t){return yu(t,Eg).fillPolygons(e,t)}function Pu(e,t,n,r,o,i,a){let s=e,c=t,l=Math.abs(n/2),d=Math.abs(r/2);l+=N(l*.01,a),d+=N(d*.01,a);let u=o,f=i;for(;u<0;)u+=Math.PI*2,f+=Math.PI*2;f-u>Math.PI*2&&(u=0,f=Math.PI*2);let p=(f-u)/a.curveStepCount,m=[];for(let h=u;h<=f;h=h+p)m.push([s+l*Math.cos(h),c+d*Math.sin(h)]);return m.push([s+l*Math.cos(f),c+d*Math.sin(f)]),m.push([s,c]),Nn([m],a)}function wg(e,t){return N(e,t)}function yg(e,t,n){return xi(e,t,n)}function bg(e,t,n,r,o){return Yt(e,t,n,r,o,!0)}function vg(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function Mu(e){return e.randomizer||(e.randomizer=new cr(e.seed||0)),e.randomizer.next()}function xi(e,t,n,r=1){return n.roughness*r*(Mu(n)*(t-e)+e)}function N(e,t,n=1){return xi(-e,e,t,n)}function Yt(e,t,n,r,o,i=!1){let a=i?o.disableMultiStrokeFill:o.disableMultiStroke,s=Tu(e,t,n,r,o,!0,!1);if(a)return s;let c=Tu(e,t,n,r,o,!0,!0);return s.concat(c)}function Tu(e,t,n,r,o,i,a){let s=Math.pow(e-n,2)+Math.pow(t-r,2),c=Math.sqrt(s),l=1;c<200?l=1:c>500?l=.4:l=-.0016668*c+1.233334;let d=o.maxRandomnessOffset||0;d*d*100>s&&(d=c/10);let u=d/2,f=.2+Mu(o)*.2,p=o.bowing*o.maxRandomnessOffset*(r-t)/200,m=o.bowing*o.maxRandomnessOffset*(e-n)/200;p=N(p,o,l),m=N(m,o,l);let h=[],E=()=>N(u,o,l),x=()=>N(d,o,l),w=o.preserveVertices;return i&&(a?h.push({op:"move",data:[e+(w?0:E()),t+(w?0:E())]}):h.push({op:"move",data:[e+(w?0:N(d,o,l)),t+(w?0:N(d,o,l))]})),a?h.push({op:"bcurveTo",data:[p+e+(n-e)*f+E(),m+t+(r-t)*f+E(),p+e+2*(n-e)*f+E(),m+t+2*(r-t)*f+E(),n+(w?0:E()),r+(w?0:E())]}):h.push({op:"bcurveTo",data:[p+e+(n-e)*f+x(),m+t+(r-t)*f+x(),p+e+2*(n-e)*f+x(),m+t+2*(r-t)*f+x(),n+(w?0:x()),r+(w?0:x())]}),h}function Au(e,t,n){let r=[];r.push([e[0][0]+N(t,n),e[0][1]+N(t,n)]),r.push([e[0][0]+N(t,n),e[0][1]+N(t,n)]);for(let o=1;o<e.length;o++)r.push([e[o][0]+N(t,n),e[o][1]+N(t,n)]),o===e.length-1&&r.push([e[o][0]+N(t,n),e[o][1]+N(t,n)]);return wi(r,null,n)}function wi(e,t,n){let r=e.length,o=[];if(r>3){let i=[],a=1-n.curveTightness;o.push({op:"move",data:[e[1][0],e[1][1]]});for(let s=1;s+2<r;s++){let c=e[s];i[0]=[c[0],c[1]],i[1]=[c[0]+(a*e[s+1][0]-a*e[s-1][0])/6,c[1]+(a*e[s+1][1]-a*e[s-1][1])/6],i[2]=[e[s+1][0]+(a*e[s][0]-a*e[s+2][0])/6,e[s+1][1]+(a*e[s][1]-a*e[s+2][1])/6],i[3]=[e[s+1][0],e[s+1][1]],o.push({op:"bcurveTo",data:[i[1][0],i[1][1],i[2][0],i[2][1],i[3][0],i[3][1]]})}if(t&&t.length===2){let s=n.maxRandomnessOffset;o.push({op:"lineTo",data:[t[0]+N(s,n),t[1]+N(s,n)]})}}else r===3?(o.push({op:"move",data:[e[1][0],e[1][1]]}),o.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&o.push(...Yt(e[0][0],e[0][1],e[1][0],e[1][1],n));return o}function Su(e,t,n,r,o,i,a,s){let c=s.roughness===0,l=[],d=[];if(c){e=e/4,d.push([t+r*Math.cos(-e),n+o*Math.sin(-e)]);for(let u=0;u<=Math.PI*2;u=u+e){let f=[t+r*Math.cos(u),n+o*Math.sin(u)];l.push(f),d.push(f)}d.push([t+r*Math.cos(0),n+o*Math.sin(0)]),d.push([t+r*Math.cos(e),n+o*Math.sin(e)])}else{let u=N(.5,s)-Math.PI/2;d.push([N(i,s)+t+.9*r*Math.cos(u-e),N(i,s)+n+.9*o*Math.sin(u-e)]);let f=Math.PI*2+u-.01;for(let p=u;p<f;p=p+e){let m=[N(i,s)+t+r*Math.cos(p),N(i,s)+n+o*Math.sin(p)];l.push(m),d.push(m)}d.push([N(i,s)+t+r*Math.cos(u+Math.PI*2+a*.5),N(i,s)+n+o*Math.sin(u+Math.PI*2+a*.5)]),d.push([N(i,s)+t+.98*r*Math.cos(u+a),N(i,s)+n+.98*o*Math.sin(u+a)]),d.push([N(i,s)+t+.9*r*Math.cos(u+a*.5),N(i,s)+n+.9*o*Math.sin(u+a*.5)])}return[d,l]}function _u(e,t,n,r,o,i,a,s,c){let l=i+N(.1,c),d=[];d.push([N(s,c)+t+.9*r*Math.cos(l-e),N(s,c)+n+.9*o*Math.sin(l-e)]);for(let u=l;u<=a;u=u+e)d.push([N(s,c)+t+r*Math.cos(u),N(s,c)+n+o*Math.sin(u)]);return d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),wi(d,null,c)}function Tg(e,t,n,r,o,i,a,s){let c=[],l=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],d=[0,0],u=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let p=0;p<u;p++)p===0?c.push({op:"move",data:[a[0],a[1]]}):c.push({op:"move",data:[a[0]+(f?0:N(l[0],s)),a[1]+(f?0:N(l[0],s))]}),d=f?[o,i]:[o+N(l[p],s),i+N(l[p],s)],c.push({op:"bcurveTo",data:[e+N(l[p],s),t+N(l[p],s),n+N(l[p],s),r+N(l[p],s),d[0],d[1]]});return c}g();function no(e){return[...e]}function Du(e,t=0){let n=e.length;if(n<3)throw new Error("A curve must have at least three points.");let r=[];if(n===3)r.push(no(e[0]),no(e[1]),no(e[2]),no(e[2]));else{let o=[];o.push(e[0],e[0]);for(let s=1;s<e.length;s++)o.push(e[s]),s===e.length-1&&o.push(e[s]);let i=[],a=1-t;r.push(no(o[0]));for(let s=1;s+2<o.length;s++){let c=o[s];i[0]=[c[0],c[1]],i[1]=[c[0]+(a*o[s+1][0]-a*o[s-1][0])/6,c[1]+(a*o[s+1][1]-a*o[s-1][1])/6],i[2]=[o[s+1][0]+(a*o[s][0]-a*o[s+2][0])/6,o[s+1][1]+(a*o[s][1]-a*o[s+2][1])/6],i[3]=[o[s+1][0],o[s+1][1]],r.push(i[1],i[2],i[3])}}return r}g();function Ag(e,t){return Math.sqrt(vi(e,t))}function vi(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function Sg(e,t,n){let r=vi(t,n);if(r===0)return vi(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),vi(e,Bn(t,n,o))}function Bn(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function _g(e,t){let n=e[t+0],r=e[t+1],o=e[t+2],i=e[t+3],a=3*r[0]-2*n[0]-i[0];a*=a;let s=3*r[1]-2*n[1]-i[1];s*=s;let c=3*o[0]-2*i[0]-n[0];c*=c;let l=3*o[1]-2*i[1]-n[1];return l*=l,a<c&&(a=c),s<l&&(s=l),a+s}function hs(e,t,n,r){let o=r||[];if(_g(e,t)<n){let i=e[t+0];o.length?Ag(o[o.length-1],i)>1&&o.push(i):o.push(i),o.push(e[t+3])}else{let a=e[t+0],s=e[t+1],c=e[t+2],l=e[t+3],d=Bn(a,s,.5),u=Bn(s,c,.5),f=Bn(c,l,.5),p=Bn(d,u,.5),m=Bn(u,f,.5),h=Bn(p,m,.5);hs([a,d,p,h],0,n,o),hs([h,m,f,l],0,n,o)}return o}function Cu(e,t){return Ti(e,0,e.length,t)}function Ti(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],c=0,l=1;for(let d=t+1;d<n-1;++d){let u=Sg(e[d],a,s);u>c&&(c=u,l=d)}return Math.sqrt(c)>r?(Ti(e,t,l+1,r,i),Ti(e,l,n,r,i)):(i.length||i.push(a),i.push(s)),i}function ur(e,t=.15,n){let r=[],o=(e.length-1)/3;for(let i=0;i<o;i++){let a=i*3;hs(e,a,t,r)}return n&&n>0?Ti(r,0,r.length,n):r}g();function Lu(e,t,n){let r=dr(e),o=eo(Jr(r)),i=[],a=[],s=[0,0],c=[],l=()=>{c.length>=4&&a.push(...ur(c,t)),c=[]},d=()=>{l(),a.length&&(i.push(a),a=[])};for(let{key:f,data:p}of o)switch(f){case"M":d(),s=[p[0],p[1]],a.push(s);break;case"L":l(),a.push([p[0],p[1]]);break;case"C":if(!c.length){let m=a.length?a[a.length-1]:s;c.push([m[0],m[1]])}c.push([p[0],p[1]]),c.push([p[2],p[3]]),c.push([p[4],p[5]]);break;case"Z":l(),a.push([s[0],s[1]]);break}if(d(),!n)return i;let u=[];for(let f of i){let p=Cu(f,n);p.length&&u.push(p)}return u}var Ne="none",ot=class{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return bu()}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,n,r){return{shape:t,sets:n||[],options:r||this.defaultOptions}}line(t,n,r,o,i){let a=this._o(i);return this._d("line",[ds(t,n,r,o,a)],a)}rectangle(t,n,r,o,i){let a=this._o(i),s=[],c=Iu(t,n,r,o,a);if(a.fill){let l=[[t,n],[t+r,n],[t+r,n+o],[t,n+o]];a.fillStyle==="solid"?s.push(bi([l],a)):s.push(Nn([l],a))}return a.stroke!==Ne&&s.push(c),this._d("rectangle",s,a)}ellipse(t,n,r,o,i){let a=this._o(i),s=[],c=fs(r,o,a),l=yi(t,n,a,c);if(a.fill)if(a.fillStyle==="solid"){let d=yi(t,n,a,c).opset;d.type="fillPath",s.push(d)}else s.push(Nn([l.estimatedPoints],a));return a.stroke!==Ne&&s.push(l.opset),this._d("ellipse",s,a)}circle(t,n,r,o){let i=this.ellipse(t,n,r,r,o);return i.shape="circle",i}linearPath(t,n){let r=this._o(n);return this._d("linearPath",[to(t,!1,r)],r)}arc(t,n,r,o,i,a,s=!1,c){let l=this._o(c),d=[],u=ps(t,n,r,o,i,a,s,!0,l);if(s&&l.fill)if(l.fillStyle==="solid"){let f=Object.assign({},l);f.disableMultiStroke=!0;let p=ps(t,n,r,o,i,a,!0,!1,f);p.type="fillPath",d.push(p)}else d.push(Pu(t,n,r,o,i,a,l));return l.stroke!==Ne&&d.push(u),this._d("arc",d,l)}curve(t,n){let r=this._o(n),o=[],i=us(t,r);if(r.fill&&r.fill!==Ne&&t.length>=3)if(r.fillStyle==="solid"){let a=us(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(a.ops)})}else{let a=Du(t),s=ur(a,10,(1+r.roughness)/2);o.push(Nn([s],r))}return r.stroke!==Ne&&o.push(i),this._d("curve",o,r)}polygon(t,n){let r=this._o(n),o=[],i=to(t,!0,r);return r.fill&&(r.fillStyle==="solid"?o.push(bi([t],r)):o.push(Nn([t],r))),r.stroke!==Ne&&o.push(i),this._d("polygon",o,r)}path(t,n){let r=this._o(n),o=[];if(!t)return this._d("path",o,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let i=r.fill&&r.fill!=="transparent"&&r.fill!==Ne,a=r.stroke!==Ne,s=!!(r.simplification&&r.simplification<1),c=s?4-4*(r.simplification||1):(1+r.roughness)/2,l=Lu(t,1,c),d=ms(t,r);if(i)if(r.fillStyle==="solid")if(l.length===1){let u=ms(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(u.ops)})}else o.push(bi(l,r));else o.push(Nn(l,r));return a&&(s?l.forEach(u=>{o.push(to(u,!1,r))}):o.push(d)),this._d("path",o,r)}opsToPath(t,n){let r="";for(let o of t.ops){let i=typeof n=="number"&&n>=0?o.data.map(a=>+a.toFixed(n)):o.data;switch(o.op){case"move":r+=`M${i[0]} ${i[1]} `;break;case"bcurveTo":r+=`C${i[0]} ${i[1]}, ${i[2]} ${i[3]}, ${i[4]} ${i[5]} `;break;case"lineTo":r+=`L${i[0]} ${i[1]} `;break}}return r.trim()}toPaths(t){let n=t.sets||[],r=t.options||this.defaultOptions,o=[];for(let i of n){let a=null;switch(i.type){case"path":a={d:this.opsToPath(i),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:Ne};break;case"fillPath":a={d:this.opsToPath(i),stroke:Ne,strokeWidth:0,fill:r.fill||Ne};break;case"fillSketch":a=this.fillSketch(i,r);break}a&&o.push(a)}return o}fillSketch(t,n){let r=n.fillWeight;return r<0&&(r=n.strokeWidth/2),{d:this.opsToPath(t),stroke:n.fill||Ne,strokeWidth:r,fill:Ne}}_mergedShape(t){return t.filter((n,r)=>r===0?!0:n.op!=="move")}};var Ai=class{constructor(t,n){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new ot(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(let a of n)switch(a.type){case"path":o.save(),o.strokeStyle=r.stroke==="none"?"transparent":r.stroke,o.lineWidth=r.strokeWidth,r.strokeLineDash&&o.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(o.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(o,a,i),o.restore();break;case"fillPath":{o.save(),o.fillStyle=r.fill||"";let s=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(o,a,i,s),o.restore();break}case"fillSketch":this.fillSketch(o,a,r);break}}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=o,this._drawToContext(t,n,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,n,r,o="nonzero"){t.beginPath();for(let i of n.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":t.moveTo(a[0],a[1]);break;case"bcurveTo":t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"lineTo":t.lineTo(a[0],a[1]);break}}n.type==="fillPath"?t.fill(o):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a),a}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a),a}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a),a}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i),i}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r),r}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r),r}arc(t,n,r,o,i,a,s=!1,c){let l=this.gen.arc(t,n,r,o,i,a,s,c);return this.draw(l),l}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r),r}path(t,n){let r=this.gen.path(t,n);return this.draw(r),r}};g();g();var ro="http://www.w3.org/2000/svg";var Si=class{constructor(t,n){this.svg=t,this.gen=new ot(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.svg.ownerDocument||window.document,i=o.createElementNS(ro,"g"),a=t.options.fixedDecimalPlaceDigits;for(let s of n){let c=null;switch(s.type){case"path":{c=o.createElementNS(ro,"path"),c.setAttribute("d",this.opsToPath(s,a)),c.setAttribute("stroke",r.stroke),c.setAttribute("stroke-width",r.strokeWidth+""),c.setAttribute("fill","none"),r.strokeLineDash&&c.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&c.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break}case"fillPath":{c=o.createElementNS(ro,"path"),c.setAttribute("d",this.opsToPath(s,a)),c.setAttribute("stroke","none"),c.setAttribute("stroke-width","0"),c.setAttribute("fill",r.fill||""),(t.shape==="curve"||t.shape==="polygon")&&c.setAttribute("fill-rule","evenodd");break}case"fillSketch":{c=this.fillSketch(o,s,r);break}}c&&i.appendChild(c)}return i}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2);let i=t.createElementNS(ro,"path");return i.setAttribute("d",this.opsToPath(n,r.fixedDecimalPlaceDigits)),i.setAttribute("stroke",r.fill||""),i.setAttribute("stroke-width",o+""),i.setAttribute("fill","none"),r.fillLineDash&&i.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,n){return this.gen.opsToPath(t,n)}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a)}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a)}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a)}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i)}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r)}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r)}arc(t,n,r,o,i,a,s=!1,c){let l=this.gen.arc(t,n,r,o,i,a,s,c);return this.draw(l)}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r)}path(t,n){let r=this.gen.path(t,n);return this.draw(r)}};var It={canvas(e,t){return new Ai(e,t)},svg(e,t){return new Si(e,t)},generator(e){return new ot(e)},newSeed(){return ot.newSeed()}};g();g();g();function ku(e,t,n,r=o=>o){return e*r(.5-t*(.5-n))}function Ig(e){return[-e[0],-e[1]]}function at(e,t){return[e[0]+t[0],e[1]+t[1]]}function Xe(e,t){return[e[0]-t[0],e[1]-t[1]]}function it(e,t){return[e[0]*t,e[1]*t]}function Pg(e,t){return[e[0]/t,e[1]/t]}function oo(e){return[e[1],-e[0]]}function Ou(e,t){return e[0]*t[0]+e[1]*t[1]}function Mg(e,t){return e[0]===t[0]&&e[1]===t[1]}function Dg(e){return Math.hypot(e[0],e[1])}function Cg(e){return e[0]*e[0]+e[1]*e[1]}function Ru(e,t){return Cg(Xe(e,t))}function Bu(e){return Pg(e,Dg(e))}function Lg(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function io(e,t,n){let r=Math.sin(n),o=Math.cos(n),i=e[0]-t[0],a=e[1]-t[1],s=i*o-a*r,c=i*r+a*o;return[s+t[0],c+t[1]]}function Es(e,t,n){return at(e,it(Xe(t,e),n))}function Fu(e,t,n){return at(e,it(t,n))}var{min:fr,PI:kg}=Math,Nu=.275,ao=kg+1e-4;function Og(e,t={}){let{size:n=16,smoothing:r=.5,thinning:o=.5,simulatePressure:i=!0,easing:a=L=>L,start:s={},end:c={},last:l=!1}=t,{cap:d=!0,easing:u=L=>L*(2-L)}=s,{cap:f=!0,easing:p=L=>--L*L*L+1}=c;if(e.length===0||n<=0)return[];let m=e[e.length-1].runningLength,h=s.taper===!1?0:s.taper===!0?Math.max(n,m):s.taper,E=c.taper===!1?0:c.taper===!0?Math.max(n,m):c.taper,x=Math.pow(n*r,2),w=[],y=[],T=e.slice(0,10).reduce((L,C)=>{let z=C.pressure;if(i){let U=fr(1,C.distance/n),le=fr(1,1-U);z=fr(1,L+(le-L)*(U*Nu))}return(L+z)/2},e[0].pressure),b=ku(n,o,e[e.length-1].pressure,a),D,S=e[0].vector,A=e[0].point,I=A,P=A,_=I,M=!1;for(let L=0;L<e.length;L++){let{pressure:C}=e[L],{point:z,vector:U,distance:le,runningLength:fe}=e[L];if(L<e.length-1&&m-fe<3)continue;if(o){if(i){let we=fr(1,le/n),ke=fr(1,1-we);C=fr(1,T+(ke-T)*(we*Nu))}b=ku(n,o,C,a)}else b=n/2;D===void 0&&(D=b);let oe=fe<h?u(fe/h):1,pt=m-fe<E?p((m-fe)/E):1;b=Math.max(.01,b*Math.min(oe,pt));let Rt=(L<e.length-1?e[L+1]:e[L]).vector,Ke=L<e.length-1?Ou(U,Rt):1,Le=Ou(U,S)<0&&!M,mt=Ke!==null&&Ke<0;if(Le||mt){let we=it(oo(S),b);for(let ke=1/13,Ue=0;Ue<=1;Ue+=ke)P=io(Xe(z,we),z,ao*Ue),w.push(P),_=io(at(z,we),z,ao*-Ue),y.push(_);A=P,I=_,mt&&(M=!0);continue}if(M=!1,L===e.length-1){let we=it(oo(U),b);w.push(Xe(z,we)),y.push(at(z,we));continue}let nn=it(oo(Es(Rt,U,Ke)),b);P=Xe(z,nn),(L<=1||Ru(A,P)>x)&&(w.push(P),A=P),_=at(z,nn),(L<=1||Ru(I,_)>x)&&(y.push(_),I=_),T=C,S=U}let k=e[0].point.slice(0,2),Y=e.length>1?e[e.length-1].point.slice(0,2):at(e[0].point,[1,1]),O=[],F=[];if(e.length===1){if(!(h||E)||l){let L=Fu(k,Bu(oo(Xe(k,Y))),-(D||b)),C=[];for(let z=1/13,U=z;U<=1;U+=z)C.push(io(L,k,ao*2*U));return C}}else{if(!(h||E&&e.length===1))if(d)for(let C=1/13,z=C;z<=1;z+=C){let U=io(y[0],k,ao*z);O.push(U)}else{let C=Xe(w[0],y[0]),z=it(C,.5),U=it(C,.51);O.push(Xe(k,z),Xe(k,U),at(k,U),at(k,z))}let L=oo(Ig(e[e.length-1].vector));if(E||h&&e.length===1)F.push(Y);else if(f){let C=Fu(Y,L,b);for(let z=1/29,U=z;U<1;U+=z)F.push(io(C,Y,ao*3*U))}else F.push(at(Y,it(L,b)),at(Y,it(L,b*.99)),Xe(Y,it(L,b*.99)),Xe(Y,it(L,b)))}return w.concat(F,y.reverse(),O)}function Rg(e,t={}){var n;let{streamline:r=.5,size:o=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-r)*.85,s=Array.isArray(e[0])?e:e.map(({x:p,y:m,pressure:h=.5})=>[p,m,h]);if(s.length===2){let p=s[1];s=s.slice(0,-1);for(let m=1;m<5;m++)s.push(Es(s[0],p,m/4))}s.length===1&&(s=[...s,[...at(s[0],[1,1]),...s[0].slice(2)]]);let c=[{point:[s[0][0],s[0][1]],pressure:s[0][2]>=0?s[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],l=!1,d=0,u=c[0],f=s.length-1;for(let p=1;p<s.length;p++){let m=i&&p===f?s[p].slice(0,2):Es(u.point,s[p],a);if(Mg(u.point,m))continue;let h=Lg(m,u.point);if(d+=h,p<f&&!l){if(d<o)continue;l=!0}u={point:m,pressure:s[p][2]>=0?s[p][2]:.5,vector:Bu(Xe(u.point,m)),distance:h,runningLength:d},c.push(u)}return c[0].vector=((n=c[1])==null?void 0:n.vector)||[0,0],c}function Gu(e,t={}){return Og(Rg(e,t),t)}g();g();g();g();var ve=(e,t)=>[0,0,0,0,t,e,1,0];var zu=(e,t)=>[0,0,0,0,t,e,0,0];var Gn=(e=0,t=0)=>{let n=[0,0,0,0,0,0,0,0];if(t<0||t>7)throw new Error(`Expected \`index\` between 0 and 7, got \`${t}\``);return e!==0&&(n[t]=e),n};var pr=e=>[e[0],e[1],e[2],e[3],-e[4],-e[5],-e[6],-e[7]];var Hu=(e,t)=>bs(t)?[e[0]+t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]+t[0],e[1]+t[1],e[2]+t[2],e[3]+t[3],e[4]+t[4],e[5]+t[5],e[6]+t[6],e[7]+t[7]],gs=(e,t)=>bs(t)?[e[0]-t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]-t[0],e[1]-t[1],e[2]-t[2],e[3]-t[3],e[4]-t[4],e[5]-t[5],e[6]-t[6],e[7]-t[7]],mn=(e,t)=>bs(t)?[e[0]*t,e[1]*t,e[2]*t,e[3]*t,e[4]*t,e[5]*t,e[6]*t,e[7]*t]:[Fg(e,t),t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[7]*e[3]+t[0]*e[4]+t[6]*e[5]-t[5]*e[6]+t[3]*e[7],t[5]*e[0]-t[3]*e[1]+t[7]*e[2]+t[1]*e[3]-t[6]*e[4]+t[0]*e[5]+t[4]*e[6]+t[2]*e[7],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]+t[0]*e[7]],Fg=(e,t)=>t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],xs=(e,t)=>[t[0]*e[0],t[1]*e[0]+t[0]*e[1],t[2]*e[0]+t[0]*e[2],t[3]*e[0]+t[0]*e[3],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[0]*e[4],t[5]*e[0]-t[3]*e[1]+t[1]*e[3]+t[0]*e[5],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]],_i=(e,t)=>[ws(e,t),e[1]*t[7]+e[4]*t[5]-e[5]*t[4]+e[7]*t[1],e[2]*t[7]-e[4]*t[6]+e[6]*t[4]+e[7]*t[2],e[3]*t[7]+e[5]*t[6]-e[6]*t[5]+e[7]*t[3],e[4]*t[7]+e[7]*t[4],e[5]*t[7]+e[7]*t[5],e[6]*t[7]+e[7]*t[6],e[7]*t[7]],ws=(e,t)=>e[0]*t[7]+e[1]*t[6]+e[2]*t[5]+e[3]*t[4]+e[4]*t[3]+e[5]*t[2]+e[6]*t[1]+e[7]*t[0],Uu=(e,t)=>[t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[7]*e[3]+t[0]*e[4]+t[3]*e[7],t[5]*e[0]+t[7]*e[2]+t[0]*e[5]+t[2]*e[7],t[6]*e[0]+t[0]*e[6],t[7]*e[0]+t[0]*e[7]],ys=e=>Math.sqrt(Math.abs(e[0]*e[0]-e[2]*e[2]-e[3]*e[3]+e[6]*e[6])),Vu=e=>Math.sqrt(Math.abs(e[7]*e[7]-e[5]*e[5]-e[4]*e[4]+e[1]*e[1])),zn=e=>{let t=ys(e);if(t===0||t===1)return e;let n=e[6]<0?-1:1;return mn(e,n/t)},$u=e=>{let t=Vu(e);return t===0||t===1?e:mn(e,1/t)},bs=e=>typeof e=="number",ST=Gn(1,1),_T=Gn(1,2),IT=Gn(1,3),PT=Gn(1,4),MT=Gn(1,5),DT=Gn(1,6),CT=Gn(1,7);g();g();var Ii=(e,t,n)=>zn([0,n,e,t,0,0,0,0]),mr=(e,t)=>zn(_i(t,e)),Yu=(e,t)=>Uu(e,t),Wu=(e,t)=>Yu(mr(e,t),t);var Xu=e=>Math.sign(e[1]);var Hn=([e,t])=>[0,0,0,0,t,e,1,0],Un=e=>[e[5],e[4]],Ku=e=>[0,0,0,0,Math.abs(e[4]),Math.abs(e[5]),1,0],ju=(e,t)=>zn(xs(e,t));var vs=(e,t)=>ys(_i(e,t)),hn=(e,t)=>ws(e,t);g();var Ts=e=>[0,0,0,0,e[4],e[5],0,0],qu=(e,t)=>$u([0,0,0,0,t[4]-e[4],t[5]-e[5],0,0]);g();var As=(e,t)=>Hu(mn(e,Math.sin(t/2)),Math.cos(t/2)),Qu=e=>[1,0,0,0,-(.5*e[5]),.5*e[4],0,0],ef=(e,t)=>{let n=.5*t;return[1,0,0,0,n*e[4],n*e[5],0,0]};var tf=(e,t)=>mn(t,e),st=(e,t)=>zn(mn(mn(e,t),pr(e)));g();g();var hr=1e-4;var Gg=e=>{let t=e[0],n=e[e.length-1];return t[0]===n[0]&&t[1]===n[1]},Er=e=>Gg(e)?e:[...e,e[0]],Pt=e=>e*180/Math.PI,zg=e=>e/180*Math.PI;var nf=(e,t)=>[e[0]*Math.cos(t)-e[1]*Math.sin(t),e[0]*Math.sin(t)+e[1]*Math.cos(t)],Hg=e=>e[0]===0&&e[1]===0,de=(e,t,n)=>{let r=zg(t);return!n||Hg(n)?nf(e,r):nf(e.map((o,i)=>o-n[i]),r).map((o,i)=>o+n[i])};var Ug=e=>[-e[0],-e[1]],Ss=(e,t)=>[e[0]+t[0],e[1]+t[1]],Vg=(e,t)=>Be(...e,...t);var rf=(e,t,n)=>{let r=Ss(e,Ug(t));return de(r,-Pt(n))};var $g=(e,t)=>{let[n,r]=e,[[o,i],[a,s]]=t,c=n-o,l=r-i,d=a-o,u=s-i,f=c*d+l*u,p=d*d+u*u,m=-1;p!==0&&(m=f/p);let h,E;m<0?(h=o,E=i):m>1?(h=a,E=s):(h=o+m*d,E=i+m*u);let x=n-h,w=r-E;return Math.sqrt(x*x+w*w)},Vn=(e,t,n=hr)=>{let r=$g(e,t);return r===0?!0:r<n},_s=(e,t,n=hr)=>t.some(r=>Vn(e,r,n));var Yg=e=>{let[t,n,r,o]=e;return(i,a)=>Math.pow(1-i,3)*o[a]+3*i*Math.pow(1-i,2)*r[a]+3*Math.pow(i,2)*(1-i)*n[a]+t[a]*Math.pow(i,3)},Wg=(e,t=10)=>{let n=Yg(e),r=[n(0,0),n(0,1)],o=[],i=0,a=1/t;for(let s=0;s<t;s++)if(i+=a,i<=1){let c=[n(i,0),n(i,1)];o.push([r,c]),r=c}return o},Is=(e,t,n=hr)=>_s(e,Wg(t),n),of=(e,t,n=hr)=>t.some(r=>Is(e,r,n)),Ps=(e,t)=>{let n=e[0],r=e[1],o=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){let s=t[i][0],c=t[i][1],l=t[a][0],d=t[a][1];(c>r&&d<=r||c<=r&&d>r)&&n<(l-s)*(r-c)/(d-c)+s&&(o=!o)}return o},af=(e,t,n=hr)=>{let r=!1,o=Er(t);for(let i=0,a=o.length-1;i<a;i++)if(Vn(e,[o[i],o[i+1]],n)){r=!0;break}return r};var Xg=(e,t)=>{let{angle:n,halfWidth:r,halfHeight:o,center:i}=t,a=r,s=o,[c,l]=rf(e,i,n),d=Math.abs(c),u=Math.abs(l),f=.707,p=.707;for(let E=0;E<3;E++){let x=a*f,w=s*p,y=(a*a-s*s)*f**3/a,T=(s*s-a*a)*p**3/s,b=x-y,D=w-T,S=d-y,A=u-T,I=Math.hypot(D,b),P=Math.hypot(A,S);f=Math.min(1,Math.max(0,(S*I/P+y)/a)),p=Math.min(1,Math.max(0,(A*I/P+T)/s));let _=Math.hypot(p,f);f/=_,p/=_}let[m,h]=[a*f*Math.sign(c),s*p*Math.sign(l)];return Vg([c,l],[m,h])},sf=(e,t,n=hr)=>Xg(e,t)<=n,lf=(e,t)=>{let{center:n,angle:r,halfWidth:o,halfHeight:i}=t,[a,s]=rf(e,n,r);return a/o*(a/o)+s/i*(s/i)<=1};var lo=(e,t,n=0)=>{switch(t.type){case"polygon":return af(e,t.data,n);case"ellipse":return sf(e,t.data,n);case"line":return Vn(e,t.data,n);case"polyline":return _s(e,t.data,n);case"curve":return Is(e,t.data,n);case"polycurve":return of(e,t.data,n);default:throw Error(`shape ${t} is not implemented`)}},Pi=(e,t)=>{switch(t.type){case"polygon":return Ps(e,t.data);case"line":return!1;case"curve":return!1;case"ellipse":return lf(e,t.data);case"polyline":{let n=Er(t.data.flat());return Ps(e,n)}case"polycurve":return!1;default:throw Error(`shape ${t} is not implemented`)}};g();g();var Zg=(e,t)=>{let[n,r,o,i]=t,{x:a,y:s}=is({sceneX:n,sceneY:r},e),{x:c,y:l}=is({sceneX:o,sceneY:i},e);return c-a>e.width||l-s>e.height},Kg=({scenePoint:e,viewportDimensions:t,zoom:n})=>({scrollX:t.width/2/n.value-e.x,scrollY:t.height/2/n.value-e.y}),Ds=(e,t)=>{if(e=cf(e),!e.length)return{scrollX:0,scrollY:0};let[n,r,o,i]=De(e);Zg(t,[n,r,o,i])&&([n,r,o,i]=Ms(e,Zr({clientX:t.scrollX,clientY:t.scrollY},t)));let a=(n+o)/2,s=(r+i)/2;return Kg({scenePoint:{x:a,y:s},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})};g();var jg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="line"||e==="freedraw",qT=e=>e!=="image"&&e!=="frame"&&e!=="magicframe",qg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="freedraw"||e==="arrow"||e==="line",Jg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="arrow"||e==="line",Cs=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="arrow"||e==="line"||e==="diamond"||e==="image",Qg=e=>e==="arrow",Ls=(e,t)=>{let n=null;for(let r=e.length-1;r>=0;--r){let o=e[r];if(!o.isDeleted&&t(o)){n=o;break}}return n};g();var ex=e=>Math.max(jd,Math.min(e,30)),tA=({viewportX:e,viewportY:t,nextZoom:n},r)=>{let o=e-r.offsetLeft,i=t-r.offsetTop,a=r.zoom.value,s=r.scrollX+(o-o/a),c=r.scrollY+(i-i/a),l=-(o-o/n),d=-(i-i/n);return{scrollX:s+l,scrollY:c+d,zoom:{value:n}}};g();var fA={EQUAL:"Equal",MINUS:"Minus",NUM_ADD:"NumpadAdd",NUM_SUBTRACT:"NumpadSubtract",NUM_ZERO:"Numpad0",BRACKET_RIGHT:"BracketRight",BRACKET_LEFT:"BracketLeft",ONE:"Digit1",TWO:"Digit2",THREE:"Digit3",NINE:"Digit9",QUOTE:"Quote",ZERO:"Digit0",SLASH:"Slash",C:"KeyC",D:"KeyD",H:"KeyH",V:"KeyV",Z:"KeyZ",R:"KeyR",S:"KeyS"},Ge={ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",BACKSPACE:"Backspace",ALT:"Alt",CTRL_OR_CMD:qo?"metaKey":"ctrlKey",DELETE:"Delete",ENTER:"Enter",ESCAPE:"Escape",QUESTION_MARK:"?",SPACE:" ",TAB:"Tab",CHEVRON_LEFT:"<",CHEVRON_RIGHT:">",PERIOD:".",COMMA:",",SUBTRACT:"-",SLASH:"/",A:"a",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",L:"l",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",V:"v",X:"x",Y:"y",Z:"z",K:"k",W:"w",0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9"},pA=e=>e===Ge.ARROW_LEFT||e===Ge.ARROW_RIGHT||e===Ge.ARROW_DOWN||e===Ge.ARROW_UP,mA=e=>e.altKey,hA=e=>e.shiftKey,ks=e=>e.shiftKey;var PA=e=>!e[Ge.CTRL_OR_CMD],Os=e=>e.isBindingEnabled,ox=(e,t)=>{let n=[];return t.forEach(r=>{let o=e.getNonDeletedElement(r);o!=null&&n.push(o)}),n},Rs=(e,t,n,r)=>{let o=new Set,i=new Set;df(e,t,n,"start",o,i,r),df(e,n,t,"end",o,i,r);let a=Array.from(i).filter(s=>!o.has(s));ox(xn.getScene(e),a).forEach(s=>{R(s,{boundElements:s.boundElements?.filter(c=>c.type!=="arrow"||c.id!==e.id)})})},df=(e,t,n,r,o,i,a)=>{if(t!=="keep"){if(t===null){let s=cx(e,r);s!=null&&i.add(s);return}hf(e)?(n==null||(n==="keep"?!mf(e,t,r):r==="start"||n.id!==t.id))&&(Di(e,t,r,a),o.add(t.id)):(Di(e,t,r,a),o.add(t.id))}},ix=(e,t,n)=>{let r=n.scene.getNonDeletedElementsMap(),o=Ef(e,t,r),i=t==="start"?e.startBinding?.elementId:e.endBinding?.elementId;if(i){let a=r.get(i);if(gf(a,o,n))return a}return null},pf=(e,t)=>["start","end"].map(n=>ix(e,n,t)),ax=(e,t,n,r)=>{let i=e.points.length-1,a=n.findIndex(d=>d===0)>-1,s=n.findIndex(d=>d===i)>-1,c=a?t?gr(e,"start",r):null:gr(e,"start",r),l=s?t?gr(e,"end",r):null:gr(e,"end",r);return[c,l]},sx=(e,t,n)=>{let[r,o]=pf(e,t),i=r&&n?gr(e,"start",t):null,a=o&&n?gr(e,"end",t):null;return[i,a]},MA=(e,t,n,r)=>{e.forEach(o=>{let[i,a]=r?.length?ax(o,n,r??[],t):sx(o,t,n);Rs(o,i,a,t.scene.getNonDeletedElementsMap())})},DA=(e,t)=>e.length>50?[]:e.filter(J).flatMap(n=>pf(n,t)).filter(n=>n!==null).filter(n=>e.filter(r=>r.id===n?.id).length===0),CA=(e,t,n,r)=>{t.startBoundElement!=null&&Di(e,t.startBoundElement,"start",r.scene.getNonDeletedElementsMap());let o=uo(n,r);o!=null&&!mf(e,o,"end")&&Di(e,o,"end",r.scene.getNonDeletedElementsMap())},Di=(e,t,n,r)=>{R(e,{[n==="start"?"startBinding":"endBinding"]:{elementId:t.id,...dx(e,t,n,r)}}),X(t.boundElements||[]).has(e.id)||R(t,{boundElements:(t.boundElements||[]).concat({id:e.id,type:"arrow"})})},mf=(e,t,n)=>{let r=e[n==="start"?"endBinding":"startBinding"];return lx(e,r?.elementId,t)},lx=(e,t,n)=>t===n.id&&hf(e),hf=e=>e.points.length<3,cx=(e,t)=>{let n=t==="start"?"startBinding":"endBinding",r=e[n];return r==null?null:(R(e,{[n]:null}),r.elementId)},uo=(e,t)=>Ls(t.scene.getNonDeletedElements(),r=>Fn(r,!1)&&gf(r,e,t)),dx=(e,t,n,r)=>{let o=n==="start"?-1:1,i=o===-1?0:e.points.length-1,a=i-o,s=K.getPointAtIndexGlobalCoordinates(e,i,r),c=K.getPointAtIndexGlobalCoordinates(e,a,r);return{focus:wx(t,c,s,r),gap:Math.max(1,mx(t,s,r))}},Mt=(e,t,n)=>{let{newSize:r,simultaneouslyUpdated:o}=n??{},i=fx(o);Fn(e)&&Ci(t,e,a=>{if(!J(a)||a.isDeleted||!ux(a,e))return;let s={startBinding:uf(e,a.startBinding,r),endBinding:uf(e,a.endBinding,r)};if(i.has(a.id)){R(a,s);return}Li(t,a,(l,d)=>{l&&Fn(l)&&(d==="startBinding"||d==="endBinding")&&px(a,d,s[d],l,t)});let c=q(a,t);c&&!c.isDeleted&&$n(a,t,!1)})},ux=(e,t)=>e.startBinding?.elementId===t.id||e.endBinding?.elementId===t.id,fx=e=>new Set((e||[]).map(t=>t.id)),px=(e,t,n,r,o)=>{if(n==null||n.elementId!==r.id&&e.points.length>2)return;let i=t==="startBinding"?-1:1,a=i===-1?0:e.points.length-1,s=a-i,c=K.getPointAtIndexGlobalCoordinates(e,s,o),l=yx(r,n.focus,c,o),d;if(n.gap===0)d=l;else{let u=bx(r,c,l,n.gap,o);u.length===0?d=l:d=u[0]}K.movePoints(e,[{index:a,point:K.pointFromAbsoluteCoords(e,d,o)}],{[t]:n})},uf=(e,t,n)=>{if(t==null||n==null)return t;let{gap:r,focus:o,elementId:i}=t,{width:a,height:s}=n,{width:c,height:l}=e,d=Math.max(1,Math.min(xf(e,a,s),r*(a<s?a/c:s/l)));return{elementId:i,gap:d,focus:o}},gr=(e,t,n)=>uo(Ef(e,t,n.scene.getNonDeletedElementsMap()),n),Ef=(e,t,n)=>{let r=t==="start"?0:-1;return sr(K.getPointAtIndexGlobalCoordinates(e,r,n))},LA=(e,t,n,r)=>{let o=new Set,i=new Set,a=r==="duplicatesServeAsOld";t.forEach(s=>{let{boundElements:c}=s;if(c!=null&&c.length>0&&(c.forEach(l=>{a&&!n.has(l.id)&&o.add(l.id)}),i.add(n.get(s.id))),qr(s)){if(s.startBinding!=null){let{elementId:l}=s.startBinding;a&&!n.has(l)&&i.add(l)}if(s.endBinding!=null){let{elementId:l}=s.endBinding;a&&!n.has(l)&&i.add(l)}(s.startBinding!=null||s.endBinding!=null)&&o.add(n.get(s.id))}}),e.filter(({id:s})=>o.has(s)).forEach(s=>{let{startBinding:c,endBinding:l}=s;R(s,{startBinding:ff(c,n),endBinding:ff(l,n)})}),e.filter(({id:s})=>i.has(s)).forEach(s=>{let{boundElements:c}=s;c!=null&&c.length>0&&R(s,{boundElements:c.map(l=>n.has(l.id)?{id:n.get(l.id),type:l.type}:l)})})},ff=(e,t)=>{if(e==null)return null;let{elementId:n,focus:r,gap:o}=e;return{focus:r,gap:o,elementId:t.get(n)??n}},kA=(e,t)=>{let n=X(e);for(let r of t)En.unbindAffected(n,r,R),gn.unbindAffected(n,r,R)},co=(e,t,n=[])=>{if(!e)return null;let r=e.filter(o=>!t.has(o.id));return r.push(...n.map(o=>({id:o.id,type:o.type}))),r},gf=(e,{x:t,y:n},r)=>{let o=xf(e,e.width,e.height),i=r.getElementShape(e);return lo([t,n],i,o)},xf=(e,t,n)=>{let o=(e.type==="diamond"?1/Math.sqrt(2):1)*Math.min(t,n);return Math.max(16,Math.min(.25*o,32))},mx=(e,t,n)=>{switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return hx(e,t,n);case"diamond":return Ex(e,t,n);case"ellipse":return gx(e,t,n)}},hx=(e,t,n)=>{let[,r,o,i]=Fs(e,t,n);return Math.max(hn(r,Ii(0,1,-i)),hn(r,Ii(1,0,-o)))},Ex=(e,t,n)=>{let[,r,o,i]=Fs(e,t,n),a=Ii(i,o,-i*o);return hn(r,a)},gx=(e,t,n)=>{let[r,o]=xx(e,t,n);return-Xu(o)*hn(r,o)},xx=(e,t,n)=>{let[,r,o,i]=Fs(e,t,n),[a,s]=Un(r),c=.707,l=.707,d=o,u=i;[0,1,2,3].forEach(m=>{let h=d*c,E=u*l,x=(d*d-u*u)*c**3/d,w=(u*u-d*d)*l**3/u,y=h-x,T=E-w,b=a-x,D=s-w,S=Math.hypot(T,y),A=Math.hypot(D,b);c=Math.min(1,Math.max(0,(b*S/A+x)/d)),l=Math.min(1,Math.max(0,(D*S/A+w)/u));let I=Math.hypot(l,c);c/=I,l/=I});let f=ve(d*c,u*l),p=Wu(r,f);return[r,p]},Fs=(e,t,n)=>{let r=Hn(t),[o,i,a,s]=G(e,n),c=Bs(o,i,a,s),l=As(c,e.angle),d=st(l,r),u=gs(d,Ts(c)),f=Ku(u),p=zu(e.x,e.y),m=gs(d,p),h=(a-o)/2,E=(s-i)/2;return[m,f,h,E]},Ns=(e,t)=>{let[n,r,o,i]=G(e,t),a=Bs(n,r,o,i),s=As(a,e.angle),c=pr(Qu(Ts(a)));return tf(s,c)},Bs=(e,t,n,r)=>ve((e+n)/2,(t+r)/2),wx=(e,t,n,r)=>{let o=Ns(e,r),i=st(o,Hn(t)),a=st(o,Hn(n)),s=mr(i,a),c=e.height/e.width,l=e.width/2,d=e.height/2,u=s[2],f=s[3],p=s[1],m=Math.abs(f),h=Math.abs(u),E;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":E=p/(l*(h+c*m));break;case"diamond":E=m<h?p/(h*l):p/(m*d);break;case"ellipse":E=p/(l*Math.sqrt(u**2+c**2*f**2));break}return E||0},yx=(e,t,n,r)=>{if(t===0){let[c,l,d,u]=G(e,r),f=Bs(c,l,d,u);return Un(f)}let o=Ns(e,r),i=st(o,Hn(n)),a=pr(o),s;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":s=Px(e,t,i);break;case"ellipse":s=Ix(e,t,i);break}return Un(st(a,s))},bx=(e,t,n,r=0,o)=>{let i=Ns(e,o),a=st(i,Hn(t)),s=st(i,Hn(n)),c=mr(a,s),l=pr(i);return vx(e,c,a,r).map(u=>Un(st(l,u)))},vx=(e,t,n,r=0)=>{let o;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":let a=wf(e);o=a.flatMap((s,c)=>{let l=[s,a[(c+1)%4]];return Tx(t,Ax(l,r))}).concat(a.flatMap(s=>_x(s,r,t)));break;case"ellipse":o=Sx(e,r,t);break}if(o.length<2)return[];let i=o.sort((a,s)=>vs(a,n)-vs(s,n));return[i[0],i[i.length-1]]},wf=(e,t=1)=>{let n=t*e.width/2,r=t*e.height/2;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return[ve(n,r),ve(n,-r),ve(-n,-r),ve(-n,r)];case"diamond":return[ve(0,r),ve(n,0),ve(0,-r),ve(-n,0)]}},Tx=(e,t)=>{let[n,r]=t,o=hn(n,e),i=hn(r,e);return o*i>=0?[]:[ju(e,mr(n,r))]},Ax=(e,t)=>{let[n,r]=e,o=ef(qu(n,r),t);return[st(o,n),st(o,r)]},Sx=(e,t,n)=>{let r=e.width/2+t,o=e.height/2+t,i=n[2],a=n[3],s=n[1],c=r*r*i*i+o*o*a*a,l=c-s*s;if(c===0||l<=0)return[];let d=Math.sqrt(l),u=-r*r*i*s,f=-o*o*a*s;return[ve((u+r*o*a*d)/c,(f-r*o*i*d)/c),ve((u-r*o*a*d)/c,(f+r*o*i*d)/c)]},_x=(e,t,n)=>{if(t===0)return hn(n,e)===0?[e]:[];let r=n[2],o=n[3],i=n[1],[a,s]=Un(e),c=t,l=r*r+o*o,d=c*c*l-(r*a+o*s+i)**2;if(l===0||d<=0)return[];let u=Math.sqrt(d),f=a*o*o-s*r*o-r*i,p=s*r*r-a*r*o-o*i;return[ve((f+o*u)/l,(p-r*u)/l),ve((f-o*u)/l,(p+r*u)/l)]},Ix=(e,t,n)=>{let r=Math.abs(t),o=e.width*r/2,i=e.height*r/2,a=Math.sign(t),[s,c]=Un(n),l=c===0?1e-4:c,d=s**2*i**2+l**2*o**2,u=(-s*i**2+a*l*Math.sqrt(Math.max(0,d-o**2*i**2)))/d,f=(-u*s-1)/l;f===0&&(f=(Object.is(f,-0)?-1:1)*.01);let p=-(o**2*u)/(f**2*i**2+u**2*o**2);return ve(p,(-u*p-1)/f)},Px=(e,t,n)=>{let r=Math.abs(t),o=Math.sign(t),i=wf(e,r),a=0,s=null;return i.forEach(c=>{let l=o*mr(n,c)[1];l>a&&(a=l,s=c)}),s},yf=new Set(["boundElements","frameId","containerId","startBinding","endBinding"]),Ci=(e,t,n)=>{Fn(t)&&(t.boundElements?.slice()??[]).forEach(({id:o})=>{n(e.get(o),"boundElements",o)})},Li=(e,t,n)=>{if(t.frameId){let r=t.frameId;n(e.get(r),"frameId",r)}if(be(t)){let r=t.containerId;n(e.get(r),"containerId",r)}if(j(t)){if(t.startBinding){let r=t.startBinding.elementId;n(e.get(r),"startBinding",r)}if(t.endBinding){let r=t.endBinding.elementId;n(e.get(r),"endBinding",r)}}},En=class{static unbindAffected(t,n,r){n&&Li(t,n,o=>{!o||o.isDeleted||Ci(t,o,(i,a,s)=>{s===n.id&&r(o,{boundElements:co(o.boundElements,new Set([s]))})})})}static rebindAffected=(t,n,r)=>{!n||n.isDeleted||Li(t,n,(o,i)=>{if(!o||o.isDeleted){r(n,{[i]:null});return}i!=="frameId"&&(o.boundElements?.find(a=>a.id===n.id)||(j(n)&&r(o,{boundElements:co(o.boundElements,new Set,new Array(n))}),$(n)&&(o.boundElements?.find(a=>a.type==="text")?r(n,{[i]:null}):r(o,{boundElements:co(o.boundElements,new Set,new Array(n))}))))})}},gn=class{static unbindAffected(t,n,r){n&&Ci(t,n,o=>{!o||o.isDeleted||Li(t,o,(i,a,s)=>{s===n.id&&r(o,{[a]:null})})})}static rebindAffected=(t,n,r)=>{!n||n.isDeleted||Ci(t,n,(o,i,a)=>{if(!o||o.isDeleted){r(n,{boundElements:co(n.boundElements,new Set([a]))});return}$(o)&&((n.boundElements?.slice()??[]).reverse().find(c=>c.type==="text")?.id===o.id?o.containerId!==n.id&&r(o,{containerId:n.id}):(o.containerId!==null&&r(o,{containerId:null}),r(n,{boundElements:co(n.boundElements,new Set([o.id]))})))})}};g();var ue=class e{static rg=new ot;static cache=new WeakMap;static get=t=>e.cache.get(t);static set=(t,n)=>e.cache.set(t,n);static delete=t=>e.cache.delete(t);static destroy=()=>{e.cache=new WeakMap};static generateElementShape=(t,n)=>{let r=n?.isExporting?void 0:e.get(t);if(r!==void 0)return r;ki.delete(t);let o=bf(t,e.rg,n||{isExporting:!1,canvasBackgroundColor:H.white,embedsValidationStatus:null});return e.cache.set(t,o),o}};var Wt={version:null,points:[],zoom:null},K=class e{elementId;selectedPointsIndices;pointerDownState;isDragging;lastUncommittedPoint;pointerOffset;startBindingElement;endBindingElement;hoverPointIndex;segmentMidPointHoveredCoords;constructor(t){this.elementId=t.id,e.normalizePoints(t),this.selectedPointsIndices=null,this.lastUncommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.startBindingElement="keep",this.endBindingElement="keep",this.pointerDownState={prevSelectedPointsIndices:null,lastClickedPoint:-1,origin:null,segmentMidpoint:{value:null,index:null,added:!1}},this.hoverPointIndex=-1,this.segmentMidPointHoveredCoords=null}static POINT_HANDLE_SIZE=10;static getElement(t,n){let r=n.get(t);return r||null}static handleBoxSelection(t,n,r,o){if(!n.editingLinearElement||n.draggingElement?.type!=="selection")return!1;let{editingLinearElement:i}=n,{selectedPointsIndices:a,elementId:s}=i,c=e.getElement(s,o);if(!c)return!1;let[l,d,u,f]=G(n.draggingElement,o),m=e.getPointsGlobalCoordinates(c,o).reduce((h,E,x)=>((E[0]>=l&&E[0]<=u&&E[1]>=d&&E[1]<=f||t.shiftKey&&a?.includes(x))&&h.push(x),h),[]);r({editingLinearElement:{...i,selectedPointsIndices:m.length?m:null}})}static handlePointDragging(t,n,r,o,i,a,s){if(!a)return!1;let{selectedPointsIndices:c,elementId:l}=a,d=e.getElement(l,s);if(!d)return!1;let u=d.points[a.pointerDownState.lastClickedPoint];if(c&&u){if(ks(t)&&c.length===1&&d.points.length>1){let p=c[0],m=d.points[p===0?1:p-1],[h,E]=e._getShiftLockedDelta(d,s,m,[r,o],t[Ge.CTRL_OR_CMD]?null:n.gridSize);e.movePoints(d,[{index:p,point:[h+m[0],E+m[1]],isDragging:p===a.pointerDownState.lastClickedPoint}])}else{let p=e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize),m=p[0]-u[0],h=p[1]-u[1];e.movePoints(d,c.map(E=>{let x=E===a.pointerDownState.lastClickedPoint?e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize):[d.points[E][0]+m,d.points[E][1]+h];return{index:E,point:x,isDragging:E===a.pointerDownState.lastClickedPoint}}))}if(q(d,s)&&$n(d,s,!1),qr(d,!1)){let p=[];c[0]===0&&p.push(sr(e.getPointGlobalCoordinates(d,d.points[0],s)));let h=c[c.length-1];h===d.points.length-1&&p.push(sr(e.getPointGlobalCoordinates(d,d.points[h],s))),p.length&&i(d,p)}return!0}return!1}static handlePointerUp(t,n,r,o){let i=o.scene.getNonDeletedElementsMap(),{elementId:a,selectedPointsIndices:s,isDragging:c,pointerDownState:l}=n,d=e.getElement(a,i);if(!d)return n;let u={};if(c&&s){for(let f of s)if(f===0||f===d.points.length-1){Dt(d.points,r.zoom.value)&&e.movePoints(d,[{index:f,point:f===0?d.points[d.points.length-1]:d.points[0]}]);let p=Os(r)?uo(sr(e.getPointAtIndexGlobalCoordinates(d,f,i)),o):null;u[f===0?"startBindingElement":"endBindingElement"]=p}}return{...n,...u,selectedPointsIndices:c||t.shiftKey?!c&&t.shiftKey&&l.prevSelectedPointsIndices?.includes(l.lastClickedPoint)?s&&s.filter(f=>f!==l.lastClickedPoint):s:s?.includes(l.lastClickedPoint)?[l.lastClickedPoint]:s,isDragging:!1,pointerOffset:{x:0,y:0}}}static getEditorMidPoints=(t,n,r)=>{let o=q(t,n);return!r.editingLinearElement&&t.points.length>2&&!o?[]:(Wt.version===t.version&&Wt.zoom===r.zoom.value||e.updateEditorMidPointsCache(t,n,r),Wt.points)};static updateEditorMidPointsCache=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,n),i=0,a=[];for(;i<o.length-1;){if(e.isSegmentTooShort(t,t.points[i],t.points[i+1],r.zoom)){a.push(null),i++;continue}let s=e.getSegmentMidPoint(t,o[i],o[i+1],i+1,n);a.push(s),i++}Wt.points=a,Wt.version=t.version,Wt.zoom=r.zoom.value};static getSegmentMidpointHitCoords=(t,n,r,o)=>{let{elementId:i}=t,a=e.getElement(i,o);if(!a||e.getPointIndexUnderCursor(a,o,r.zoom,n.x,n.y)>=0||e.getPointsGlobalCoordinates(a,o).length>=3&&!r.editingLinearElement)return null;let l=e.POINT_HANDLE_SIZE/r.zoom.value,d=t.segmentMidPointHoveredCoords;if(d&&Be(d[0],d[1],n.x,n.y)<=l)return d;let u=0,f=e.getEditorMidPoints(a,o,r);for(;u<f.length;){if(f[u]!==null&&Be(f[u][0],f[u][1],n.x,n.y)<=l)return f[u];u++}return null};static isSegmentTooShort(t,n,r,o){let i=Be(n[0],n[1],r[0],r[1]);return t.points.length>2&&t.roundness&&(i=vf(t,r)),i*o.value<e.POINT_HANDLE_SIZE*4}static getSegmentMidPoint(t,n,r,o,i){let a=xr(n,r);if(t.points.length>2&&t.roundness){let s=zs(t,t.points[o]);if(s){let c=Tf(t,t.points[o],.5),[l,d]=Hs(s[0],s[1],s[2],s[3],c);a=e.getPointGlobalCoordinates(t,[l,d],i)}}return a}static getSegmentMidPointIndex(t,n,r,o){let i=e.getElement(t.elementId,o);if(!i)return-1;let a=e.getEditorMidPoints(i,o,n),s=0;for(;s<a.length;){if(e.arePointsEqual(r,a[s]))return s+1;s++}return-1}static handlePointerDown(t,n,r,o,i,a){let s=a.scene.getNonDeletedElementsMap(),c={didAddPoint:!1,hitElement:null,linearElementEditor:null};if(!i)return c;let{elementId:l}=i,d=e.getElement(l,s);if(!d)return c;let u=e.getSegmentMidpointHitCoords(i,o,n,s),f=null;if(u&&(f=e.getSegmentMidPointIndex(i,n,u,s)),t.altKey&&n.editingLinearElement)return i.lastUncommittedPoint==null&&(R(d,{points:[...d.points,e.createPointAt(d,s,o.x,o.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize)]}),c.didAddPoint=!0),r.shouldCaptureIncrement(),c.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:-1,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:[d.points.length-1],lastUncommittedPoint:null,endBindingElement:uo(o,a)},c.didAddPoint=!0,c;let p=e.getPointIndexUnderCursor(d,s,n.zoom,o.x,o.y);if(p>=0||u)c.hitElement=d;else{let{startBindingElement:D,endBindingElement:S}=i;Os(n)&&qr(d)&&Rs(d,D,S,s)}let[m,h,E,x]=G(d,s),w=(m+E)/2,y=(h+x)/2,T=p>-1&&V(d.x+d.points[p][0],d.y+d.points[p][1],w,y,d.angle),b=p>-1||t.shiftKey?t.shiftKey||i.selectedPointsIndices?.includes(p)?Mx([...i.selectedPointsIndices||[],p]):[p]:null;return c.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:p,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:b,pointerOffset:T?{x:o.x-T[0],y:o.y-T[1]}:{x:0,y:0}},c}static arePointsEqual(t,n){return!t&&!n?!0:!t||!n?!1:Us(t,n)}static handlePointerMove(t,n,r,o,i){if(!o.editingLinearElement)return null;let{elementId:a,lastUncommittedPoint:s}=o.editingLinearElement,c=e.getElement(a,i);if(!c)return o.editingLinearElement;let{points:l}=c,d=l[l.length-1];if(!t.altKey)return d===s&&e.deletePoints(c,[l.length-1]),{...o.editingLinearElement,lastUncommittedPoint:null};let u;if(ks(t)&&l.length>=2){let f=l[l.length-2],[p,m]=e._getShiftLockedDelta(c,i,f,[n,r],t[Ge.CTRL_OR_CMD]?null:o.gridSize);u=[p+f[0],m+f[1]]}else u=e.createPointAt(c,i,n-o.editingLinearElement.pointerOffset.x,r-o.editingLinearElement.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:o.gridSize);return d===s?e.movePoints(c,[{index:c.points.length-1,point:u}]):e.addPoints(c,o,[{point:u}]),{...o.editingLinearElement,lastUncommittedPoint:c.points[c.points.length-1]}}static getPointGlobalCoordinates(t,n,r){let[o,i,a,s]=G(t,r),c=(o+a)/2,l=(i+s)/2,{x:d,y:u}=t;return[d,u]=V(d+n[0],u+n[1],c,l,t.angle),[d,u]}static getPointsGlobalCoordinates(t,n){let[r,o,i,a]=G(t,n),s=(r+i)/2,c=(o+a)/2;return t.points.map(l=>{let{x:d,y:u}=t;return[d,u]=V(d+l[0],u+l[1],s,c,t.angle),[d,u]})}static getPointAtIndexGlobalCoordinates(t,n,r){let o=n<0?t.points.length+n:n,[i,a,s,c]=G(t,r),l=(i+s)/2,d=(a+c)/2,u=t.points[o],{x:f,y:p}=t;return u?V(f+u[0],p+u[1],l,d,t.angle):V(f,p,l,d,t.angle)}static pointFromAbsoluteCoords(t,n,r){let[o,i,a,s]=G(t,r),c=(o+a)/2,l=(i+s)/2,[d,u]=V(n[0],n[1],c,l,-t.angle);return[d-t.x,u-t.y]}static getPointIndexUnderCursor(t,n,r,o,i){let a=e.getPointsGlobalCoordinates(t,n),s=a.length;for(;--s>-1;){let c=a[s];if(Be(o,i,c[0],c[1])*r.value<e.POINT_HANDLE_SIZE+1)return s}return-1}static createPointAt(t,n,r,o,i){let a=fo(r,o,i),[s,c,l,d]=G(t,n),u=(s+l)/2,f=(c+d)/2,[p,m]=V(a[0],a[1],u,f,-t.angle);return[p-t.x,m-t.y]}static getNormalizedPoints(t){let{points:n}=t,r=n[0][0],o=n[0][1];return{points:n.map((i,a)=>[i[0]-r,i[1]-o]),x:t.x+r,y:t.y+o}}static normalizePoints(t){R(t,e.getNormalizedPoints(t))}static duplicateSelectedPoints(t,n){if(!t.editingLinearElement)return!1;let{selectedPointsIndices:r,elementId:o}=t.editingLinearElement,i=e.getElement(o,n);if(!i||r===null)return!1;let{points:a}=i,s=[],c=!1,l=-1,d=a.reduce((u,f,p)=>{if(++l,u.push(f),r.includes(p)){let h=a[p+1];h||(c=!0),u.push(h?[(f[0]+h[0])/2,(f[1]+h[1])/2]:[f[0],f[1]]),s.push(l+1),++l}return u},[]);if(R(i,{points:d}),c){let u=i.points[i.points.length-1];e.movePoints(i,[{index:i.points.length-1,point:[u[0]+30,u[1]+30]}])}return{appState:{...t,editingLinearElement:{...t.editingLinearElement,selectedPointsIndices:s}}}}static deletePoints(t,n){let r=0,o=0;if(n.includes(0)){let s=t.points.find((c,l)=>!n.includes(l));s&&(r=s[0],o=s[1])}let a=t.points.reduce((s,c,l)=>(n.includes(l)||s.push(s.length?[c[0]-r,c[1]-o]:[0,0]),s),[]);e._updatePoints(t,a,r,o)}static addPoints(t,n,r){let a=[...t.points,...r.map(s=>s.point)];e._updatePoints(t,a,0,0)}static movePoints(t,n,r){let{points:o}=t,i=0,a=0,s=n.find(({index:l})=>l===0);s&&(i=s.point[0]+o[s.index][0],a=s.point[1]+o[s.index][1]);let c=o.map((l,d)=>{let u=n.find(f=>f.index===d);if(u){if(s)return l;let f=u.point[0]-o[u.index][0],p=u.point[1]-o[u.index][1];return[l[0]+f,l[1]+p]}return i||a?[l[0]-i,l[1]-a]:l});e._updatePoints(t,c,i,a,r)}static shouldAddMidpoint(t,n,r,o){if(!e.getElement(t.elementId,o))return!1;let{segmentMidpoint:a}=t.pointerDownState;if(a.added||a.value===null||a.index===null||t.pointerDownState.origin===null)return!1;let s=t.pointerDownState.origin,c=Be(s.x,s.y,n.x,n.y);return!(!r.editingLinearElement&&c<Xd/r.zoom.value)}static addMidpoint(t,n,r,o,i){let a=e.getElement(t.elementId,i);if(!a)return;let{segmentMidpoint:s}=t.pointerDownState,c={pointerDownState:t.pointerDownState,selectedPointsIndices:t.selectedPointsIndices},l=e.createPointAt(a,i,n.x,n.y,o?r.gridSize:null),d=[...a.points.slice(0,s.index),l,...a.points.slice(s.index)];return R(a,{points:d}),c.pointerDownState={...t.pointerDownState,segmentMidpoint:{...t.pointerDownState.segmentMidpoint,added:!0},lastClickedPoint:s.index},c.selectedPointsIndices=[s.index],c}static _updatePoints(t,n,r,o,i){let a=Gs(t,n),s=Gs(t,t.points),c=(a[0]+a[2])/2,l=(a[1]+a[3])/2,d=(s[0]+s[2])/2,u=(s[1]+s[3])/2,f=d-c,p=u-l,m=V(r,o,f,p,t.angle);R(t,{...i,points:n,x:t.x+m[0],y:t.y+m[1]})}static _getShiftLockedDelta(t,n,r,o,i){let a=e.getPointGlobalCoordinates(t,r,n),[s,c]=fo(o[0],o[1],i),{width:l,height:d}=Vs(a[0],a[1],s,c);return re([l,d],[0,0],-t.angle)}static getBoundTextElementPosition=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,r);o.length<2&&R(n,{isDeleted:!0});let i=0,a=0;if(t.points.length%2===1){let s=Math.floor(t.points.length/2),c=e.getPointGlobalCoordinates(t,t.points[s],r);i=c[0]-n.width/2,a=c[1]-n.height/2}else{let s=t.points.length/2-1,c=Wt.points[s];t.points.length===2&&(c=xr(o[0],o[1])),(!c||Wt.version!==t.version)&&(c=e.getSegmentMidPoint(t,o[s],o[s+1],s+1,r)),i=c[0]-n.width/2,a=c[1]-n.height/2}return{x:i,y:a}};static getMinMaxXYWithBoundText=(t,n,r,o)=>{let[i,a,s,c]=r,l=(i+s)/2,d=(a+c)/2,{x:u,y:f}=e.getBoundTextElementPosition(t,o,n),p=u+o.width,m=f+o.height,h=re([i,a],[l,d],t.angle),E=re([s,a],[l,d],t.angle),x=re([u,f],[l,d],-t.angle),w=re([p,f],[l,d],-t.angle),y=re([u,m],[l,d],-t.angle),T=re([p,m],[l,d],-t.angle);return h[0]<E[0]&&h[1]>=E[1]?(i=Math.min(i,y[0]),s=Math.max(s,Math.max(w[0],T[0])),a=Math.min(a,x[1]),c=Math.max(c,T[1])):h[0]>=E[0]&&h[1]>E[1]?(i=Math.min(i,T[0]),s=Math.max(s,Math.max(x[0],w[0])),a=Math.min(a,y[1]),c=Math.max(c,w[1])):h[0]>=E[0]?(i=Math.min(i,w[0]),s=Math.max(s,y[0]),a=Math.min(a,T[1]),c=Math.max(c,x[1])):h[1]<=E[1]&&(i=Math.min(i,Math.min(w[0],x[0])),s=Math.max(s,T[0]),a=Math.min(a,w[1]),c=Math.max(c,y[1])),[i,a,s,c,l,d]};static getElementAbsoluteCoords=(t,n,r=!1)=>{let o,i,a,s,c;if(t.points.length<2||!ue.get(t)){let{minX:f,minY:p,maxX:m,maxY:h}=t.points.reduce((E,[x,w])=>(E.minY=Math.min(E.minY,w),E.minX=Math.min(E.minX,x),E.maxX=Math.max(E.maxX,x),E.maxY=Math.max(E.maxY,w),E),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});i=f+t.x,a=p+t.y,s=m+t.x,c=h+t.y}else{let f=ue.generateElementShape(t,null),p=wn(f[0]),[m,h,E,x]=po(p);i=m+t.x,a=h+t.y,s=E+t.x,c=x+t.y}let l=(i+s)/2,d=(a+c)/2;if(o=[i,a,s,c,l,d],!r)return o;let u=q(t,n);return u&&(o=e.getMinMaxXYWithBoundText(t,n,[i,a,s,c],u)),o}},Mx=e=>{let t=[...new Set(e.filter(n=>n!==null&&n!==-1))];return t=t.sort((n,r)=>n-r),t.length?t:null};g();var mo={},Af=(e,t)=>{let n=mo[e]||(mo[e]={height:t});return n.height=t,n},Sf=e=>{mo[e]&&delete mo[e]},tS=e=>mo[e]?.height??null;var Xs=e=>Eu(e).replace(/\t/g," "),Zs=e=>Xs(e).split(`
|
|
3
|
-
`),Ks=(e,t,n,r=!0)=>{let o,i={x:e.x,y:e.y,text:e.text,width:e.width,height:e.height,angle:t?.angle??e.angle};i.text=e.text,(t||!e.autoResize)&&(o=t?ct(t,e):e.width,i.text=yn(e.originalText,se(e),o));let a=Ct(i.text,se(e),e.lineHeight);if(e.autoResize&&(i.width=a.width),i.height=a.height,t){let s=Eo(t,e),c=ct(t,e);if(!j(t)&&a.height>s){let f=Ws(a.height,t.type);R(t,{height:f},r),Af(t.id,f)}if(a.width>c){let f=Ws(a.width,t.type);R(t,{width:f},r)}let l={...e,...i},{x:d,y:u}=If(t,l,n);i.x=d,i.y=u}R(e,i,r)},uS=(e,t,n)=>{let r=X(e);t.forEach(o=>{let i=n.get(o.id),a=Xt(o);if(a){let s=n.get(a);if(s){let c=r.get(i);c&&R(c,{boundElements:(o.boundElements||[]).filter(d=>d.id!==s&&d.id!==a).concat({type:"text",id:s})});let l=r.get(s);l&&$(l)&&R(l,{containerId:c?i:null})}}})},$n=(e,t,n,r=!1)=>{if(!Xt(e))return;Sf(e.id);let i=q(e,t);if(i&&i.text){if(!e)return;let a=i.text,s=i.height,c=i.width,l=ct(e,i),d=Eo(e,i),u=e.height;if(r||n!=="n"&&n!=="s"){a&&(a=yn(i.originalText,se(i),l));let f=Ct(a,se(i),i.lineHeight);s=f.height,c=f.width}if(s>d){u=Ws(s,e.type);let f=u-e.height,p=!j(e)&&(n==="ne"||n==="nw"||n==="n")?e.y-f:e.y;R(e,{height:u,y:p})}R(i,{text:a,width:c,height:s}),j(e)||R(i,If(e,i,t))}},If=(e,t,n)=>{if(j(e))return K.getBoundTextElementPosition(e,t,n);let r=qs(e),o=Eo(e,t),i=ct(e,t),a,s;return t.verticalAlign===zt.TOP?s=r.y:t.verticalAlign===zt.BOTTOM?s=r.y+(o-t.height):s=r.y+(o/2-t.height/2),t.textAlign===ts.LEFT?a=r.x:t.textAlign===ts.RIGHT?a=r.x+(i-t.width):a=r.x+(i/2-t.width/2),{x:a,y:s}},Ct=(e,t,n)=>{e=e.split(`
|
|
4
|
-
`).map(a=>a||" ").join(`
|
|
5
|
-
`);let r=parseFloat(t),o=Dx(e,r,n);return{width:js(e,t),height:o}},Pf=e=>{let t=Zs(e.text).length;return e.height/t/e.fontSize},wr=(e,t)=>e*t,Oi=(e,t,n)=>{let{unitsPerEm:r,ascender:o,descender:i}=_f[e]||_f[Ee.Helvetica],a=t/r,s=n-a*o+a*i;return a*o+s},Mf=(e,t)=>wr(e,t)+me*2,$s,ho=(e,t)=>{$s||($s=document.createElement("canvas"));let n=$s.getContext("2d");n.font=t;let r=n.measureText(e).width;return Ut()?r*10:r},js=(e,t)=>{let n=Zs(e),r=0;return n.forEach(o=>{r=Math.max(r,ho(o,t))}),r},Dx=(e,t,n)=>{let r=Zs(e).length;return wr(t,n)*r},Cx=e=>{let t=e.split("-");return t.length>1&&t.forEach((n,r)=>{r!==t.length-1&&(t[r]=n+="-")}),t.join(" ").split(" ")},yn=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let r=[],o=e.split(`
|
|
6
|
-
`),i=ho(" ",t),a="",s=0,c=d=>{d.trim()&&r.push(d)},l=()=>{a="",s=0};return o.forEach(d=>{if(js(d,t)<=n){r.push(d);return}let f=Cx(d);l();let p=0;for(;p<f.length;){let m=ho(f[p],t);if(m===n)c(f[p]),p++;else if(m>n){for(c(a),l();f[p].length>0;){let h=String.fromCodePoint(f[p].codePointAt(0)),E=Df.calculate(h,t);s+=E,f[p]=f[p].slice(h.length),s>=n?(c(a),a=h,s=E):a+=h}s+i>=n?(c(a),l()):a.endsWith("-")||(a+=" ",s+=i),p++}else for(;s<n&&p<f.length;){let h=f[p];if(s=ho(a+h,t),s>n){c(a),l();break}p++;let E=!h.endsWith("-");if(a+=h,E&&(a+=" "),s+i>=n){E?r.push(a.slice(0,-1)):r.push(a),l();break}}}a.slice(-1)===" "&&(a=a.slice(0,-1),c(a))}),r.join(`
|
|
7
|
-
`)},Df=(()=>{let e={};return{calculate:(r,o)=>{let i=r.charCodeAt(0);if(e[o]||(e[o]=[]),!e[o][i]){let a=ho(r,o);e[o][i]=a}return e[o][i]},getCache:r=>e[r]}})(),Cf="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toLocaleUpperCase(),Lf=(e,t)=>{let n=Lx(e);return n===0?Ct(Cf.split("").join(`
|
|
8
|
-
`),e,t).width+me*2:n+me*2};var Lx=e=>{let t=Df.getCache(e);if(!t)return 0;let n=t.filter(r=>r!==void 0);return Math.max(...n)};var Xt=e=>e?.boundElements?.length&&e?.boundElements?.filter(t=>t.type==="text")[0]?.id||null,q=(e,t)=>{if(!e)return null;let n=Xt(e);return n&&t.get(n)||null},Se=(e,t)=>e&&e.containerId&&t.get(e.containerId)||null,fS=(e,t,n)=>{if(!j(e))return{x:e.x+e.width/2,y:e.y+e.height/2};let r=K.getPointsGlobalCoordinates(e,n);if(r.length%2===1){let a=Math.floor(e.points.length/2),s=K.getPointGlobalCoordinates(e,e.points[a],n);return{x:s[0],y:s[1]}}let o=e.points.length/2-1,i=K.getEditorMidPoints(e,n,t)[o];return i||(i=K.getSegmentMidPoint(e,r[o],r[o+1],o+1,n)),{x:i[0],y:i[1]}},qs=e=>{let t=me,n=me;return e.type==="ellipse"&&(t+=e.width/2*(1-Math.sqrt(2)/2),n+=e.height/2*(1-Math.sqrt(2)/2)),e.type==="diamond"&&(t+=e.width/4,n+=e.height/4),{x:e.x+t,y:e.y+n}},pS=(e,t)=>!t||j(t)?e.angle:t.angle;var mS=(e,t)=>e.some(n=>{if(be(n)){let r=Se(n,t);return!j(r)}return!1}),hS=(e,t)=>e.some(n=>{if(be(n)){let r=Se(n,t);return!j(r)}return $(n)}),kx=new Set(["rectangle","ellipse","diamond","arrow"]),ES=e=>kx.has(e.type),Ws=(e,t)=>{e=Math.ceil(e);let n=me*2;return t==="ellipse"?Math.round((e+n)/Math.sqrt(2)*2):t==="arrow"?e+n*8:t==="diamond"?2*(e+n):e+n},ct=(e,t)=>{let{width:n}=e;if(j(e)){let r=(t?.fontSize??Tt)*Qd;return Math.max(Jd*n,r)}return e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-me*2:e.type==="diamond"?Math.round(n/2)-me*2:n-me*2},Eo=(e,t)=>{let{height:n}=e;return j(e)?n-me*8*2<=0?t.height:n:e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-me*2:e.type==="diamond"?Math.round(n/2)-me*2:n-me*2},gS=()=>js(Cf,se({fontSize:Tt,fontFamily:tt}))>0,Ys={[Ee.Virgil]:1.25,[Ee.Helvetica]:1.15,[Ee.Cascadia]:1.2},_f={[Ee.Virgil]:{unitsPerEm:1e3,ascender:886,descender:-374},[Ee.Helvetica]:{unitsPerEm:2048,ascender:1577,descender:-471},[Ee.Cascadia]:{unitsPerEm:2048,ascender:1977,descender:-480},[Ee.Assistant]:{unitsPerEm:1e3,ascender:1021,descender:-287}},Ri=e=>e in Ys?Ys[e]:Ys[tt],Fi=(e,t)=>Ct("",e,t).width+me*2;var Js="invert(100%) hue-rotate(180deg) saturate(1.25)",Ox=nt(),Nf=(e,t)=>St(e)&&!t.imageCache.has(e.fileId),Bf=(e,t,n)=>n.theme===Re.DARK&&St(e)&&!Nf(e,t)&&t.imageCache.get(e.fileId)?.mimeType!==B.svg,Bi=e=>e.type==="freedraw"?e.strokeWidth*12:20,Rx=(e,t,n)=>{let r=(t?.opacity??100)*e.opacity/1e4;return(n.has(e.id)||t&&n.has(t.id))&&(r*=eu/100),r},Fx=(e,t,n)=>{let i=Bi(e),[a,s,c,l]=G(e,t),d=J(e)||ge(e)?We(a,c):e.width,u=J(e)||ge(e)?We(s,l):e.height,f=d*window.devicePixelRatio+i*2,p=u*window.devicePixelRatio+i*2,m=n.value;return(f*m>32767||p*m>32767)&&(m=Math.min(32767/f,32767/p)),f*p*m*m>16777216&&(m=Math.sqrt(16777216/(f*p))),f=Math.floor(f*m),p=Math.floor(p*m),{width:f,height:p,scale:m}},Nx=(e,t,n,r,o)=>{let i=document.createElement("canvas"),a=i.getContext("2d"),s=Bi(e),{width:c,height:l,scale:d}=Fx(e,t,n);i.width=c,i.height=l;let u=0,f=0;if(J(e)||ge(e)){let[m,h]=G(e,t);u=e.x>m?We(e.x,m)*window.devicePixelRatio*d:0,f=e.y>h?We(e.y,h)*window.devicePixelRatio*d:0,a.translate(u,f)}a.save(),a.translate(s*d,s*d),a.scale(window.devicePixelRatio*d,window.devicePixelRatio*d);let p=It.canvas(i);return Bf(e,r,o)&&(a.filter=Js),Ni(e,p,a,r,o),a.restore(),{element:e,canvas:i,theme:o.theme,scale:d,zoomValue:n.value,canvasOffsetX:u,canvasOffsetY:f,boundTextElementVersion:q(e,t)?.version||null,containingFrameOpacity:Ce(e,t)?.opacity||100}},Gf=14,zf=document.createElement("img");zf.src=`data:${B.svg},${encodeURIComponent('<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="image" class="svg-inline--fa fa-image fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#888" d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"></path></svg>')}`;var Hf=document.createElement("img");Hf.src=`data:${B.svg},${encodeURIComponent('<svg viewBox="0 0 668 668" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48ZM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56ZM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.81709 0 0 .81709 124.825 145.825)"/><path d="M256 8C119.034 8 8 119.033 8 256c0 136.967 111.034 248 248 248s248-111.034 248-248S392.967 8 256 8Zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676ZM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.30366 0 0 .30366 506.822 60.065)"/></svg>')}`;var Bx=(e,t)=>{t.fillStyle="#E7E7E7",t.fillRect(0,0,e.width,e.height);let n=Math.min(e.width,e.height),r=Math.min(n,Math.min(n*.4,100));t.drawImage(e.status==="error"?Hf:zf,e.width/2-r/2,e.height/2-r/2,r,r)},Ni=(e,t,n,r,o)=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":{n.lineJoin="round",n.lineCap="round",t.draw(ue.get(e));break}case"arrow":case"line":{n.lineJoin="round",n.lineCap="round",ue.get(e).forEach(i=>{t.draw(i)});break}case"freedraw":{n.save(),n.fillStyle=e.strokeColor;let i=Gx(e),a=ue.get(e);a&&t.draw(a),n.fillStyle=e.strokeColor,n.fill(i),n.restore();break}case"image":{let i=St(e)?r.imageCache.get(e.fileId)?.image:void 0;i!=null&&!(i instanceof Promise)?(e.roundness&&n.roundRect&&(n.beginPath(),n.roundRect(0,0,e.width,e.height,Zt(Math.min(e.width,e.height),e)),n.clip()),n.drawImage(i,0,0,e.width,e.height)):Bx(e,n);break}default:if($(e)){let i=si(e.text),a=i&&!n.canvas.isConnected;a&&document.body.appendChild(n.canvas),n.canvas.setAttribute("dir",i?"rtl":"ltr"),n.save(),n.font=se(e),n.fillStyle=e.strokeColor,n.textAlign=e.textAlign;let s=e.text.replace(/\r\n?/g,`
|
|
9
|
-
`).split(`
|
|
10
|
-
`),c=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,l=wr(e.fontSize,e.lineHeight),d=Oi(e.fontFamily,e.fontSize,l);for(let u=0;u<s.length;u++)n.fillText(s[u],c,u*l+d);n.restore(),a&&n.canvas.remove()}else throw new Error(`Unimplemented type ${e.type}`)}},ki=new WeakMap,kf=(e,t,n,r)=>{let o=n?r.zoom:Ox.zoom,i=ki.get(e),a=i&&i.zoomValue!==o.value&&!r?.shouldCacheIgnoreZoom,s=q(e,t)?.version||null,c=Ce(e,t)?.opacity||100;if(!i||a||i.theme!==r.theme||i.boundTextElementVersion!==s||i.containingFrameOpacity!==c){let l=Nx(e,t,o,n,r);return ki.set(e,l),l}return i},Of=(e,t,n,r,o)=>{let i=e.element,a=Bi(i),s=e.scale,[c,l,d,u]=G(i,o);ge(i)&&(c=Math.floor(c),d=Math.ceil(d),l=Math.floor(l),u=Math.ceil(u));let f=((c+d)/2+r.scrollX)*window.devicePixelRatio,p=((l+u)/2+r.scrollY)*window.devicePixelRatio;t.save(),t.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);let m=q(i,o);if(j(i)&&m){let h=document.createElement("canvas"),E=h.getContext("2d"),x=Math.max(We(c,d),We(l,u));h.width=x*window.devicePixelRatio*s+a*e.scale*10,h.height=x*window.devicePixelRatio*s+a*e.scale*10;let w=(h.width-e.canvas.width)/2,y=(h.height-e.canvas.height)/2;E.translate(h.width/2,h.height/2),E.rotate(i.angle),E.drawImage(e.canvas,-e.canvas.width/2,-e.canvas.height/2,e.canvas.width,e.canvas.height);let[,,,,T,b]=G(m,o);E.rotate(-i.angle);let D=h.width/2-(T-c)*window.devicePixelRatio*s-w-a*s,S=h.height/2-(b-l)*window.devicePixelRatio*s-y-a*s;E.translate(-D,-S),E.clearRect(-(m.width/2+me)*window.devicePixelRatio*s,-(m.height/2+me)*window.devicePixelRatio*s,(m.width+me*2)*window.devicePixelRatio*s,(m.height+me*2)*window.devicePixelRatio*s),t.translate(f,p),t.drawImage(h,-(d-c)/2*window.devicePixelRatio-w/s-a,-(u-l)/2*window.devicePixelRatio-y/s-a,h.width/s,h.height/s)}else if(t.translate(f,p),t.rotate(i.angle),"scale"in e.element&&!Nf(i,n)&&t.scale(e.element.scale[0],e.element.scale[1]),t.translate(-f,-p),t.drawImage(e.canvas,(c+r.scrollX)*window.devicePixelRatio-a*e.scale/e.scale,(l+r.scrollY)*window.devicePixelRatio-a*e.scale/e.scale,e.canvas.width/e.scale,e.canvas.height/e.scale),v.VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX==="true"&&lr(i)){let h=q(i,o),E=qs(i);t.strokeStyle="#c92a2a",t.lineWidth=3,t.strokeRect((E.x+r.scrollX)*window.devicePixelRatio,(E.y+r.scrollY)*window.devicePixelRatio,ct(i,h)*window.devicePixelRatio,Eo(i,h)*window.devicePixelRatio)}t.restore()},LS=(e,t,n,r)=>{t.save(),t.translate(e.x+n.scrollX,e.y+n.scrollY),t.fillStyle="rgba(0, 0, 200, 0.04)";let o=.5/n.zoom.value;t.fillRect(o,o,e.width,e.height),t.lineWidth=1/n.zoom.value,t.strokeStyle=r,t.strokeRect(o,o,e.width,e.height),t.restore()},yr=(e,t,n,r,o,i,a)=>{switch(o.globalAlpha=Rx(e,Ce(e,t),i.elementsPendingErasure),e.type){case"magicframe":case"frame":{a.frameRendering.enabled&&a.frameRendering.outline&&(o.save(),o.translate(e.x+a.scrollX,e.y+a.scrollY),o.fillStyle="rgba(0, 0, 200, 0.04)",o.lineWidth=xe.strokeWidth/a.zoom.value,o.strokeStyle=xe.strokeColor,gu(e)&&(o.strokeStyle=a.theme===Re.LIGHT?"#7affd7":"#1d8264"),xe.radius&&o.roundRect?(o.beginPath(),o.roundRect(0,0,e.width,e.height,xe.radius/a.zoom.value),o.stroke(),o.closePath()):o.strokeRect(0,0,e.width,e.height),o.restore());break}case"freedraw":{if(ue.generateElementShape(e,null),i.isExporting){let[s,c,l,d]=G(e,t),u=(s+l)/2+a.scrollX,f=(c+d)/2+a.scrollY,p=(l-s)/2-(e.x-s),m=(d-c)/2-(e.y-c);o.save(),o.translate(u,f),o.rotate(e.angle),o.translate(-p,-m),Ni(e,r,o,i,a),o.restore()}else{let s=kf(e,t,i,a);Of(s,o,i,a,n)}break}case"rectangle":case"diamond":case"ellipse":case"line":case"arrow":case"image":case"text":case"iframe":case"embeddable":{if(ue.generateElementShape(e,i),i.isExporting){let[s,c,l,d]=G(e,t),u=(s+l)/2+a.scrollX,f=(c+d)/2+a.scrollY,p=(l-s)/2-(e.x-s),m=(d-c)/2-(e.y-c);if($(e)){let E=Se(e,t);if(j(E)){let x=K.getBoundTextElementPosition(E,e,t);p=(l-s)/2-(x.x-s),m=(d-c)/2-(x.y-c)}}o.save(),o.translate(u,f),Bf(e,i,a)&&(o.filter="none");let h=q(e,t);if(j(e)&&h){let E=document.createElement("canvas"),x=E.getContext("2d"),w=Math.max(We(s,l),We(c,d)),y=Bi(e);E.width=w*a.exportScale+y*10*a.exportScale,E.height=w*a.exportScale+y*10*a.exportScale,x.translate(E.width/2,E.height/2),x.scale(a.exportScale,a.exportScale),p=e.width/2-(e.x-s),m=e.height/2-(e.y-c),x.rotate(e.angle);let T=It.canvas(E);x.translate(-p,-m),Ni(e,T,x,i,a),x.translate(p,m),x.rotate(-e.angle);let[,,,,b,D]=G(h,t),S=(s+l)/2-b,A=(c+d)/2-D;x.translate(-S,-A),x.clearRect(-h.width/2,-h.height/2,h.width,h.height),o.scale(1/a.exportScale,1/a.exportScale),o.drawImage(E,-E.width/2,-E.height/2,E.width,E.height)}else o.rotate(e.angle),e.type==="image"&&o.scale(e.scale[0],e.scale[1]),o.translate(-p,-m),Ni(e,r,o,i,a);o.restore()}else{let s=kf(e,t,i,a),c=o.imageSmoothingEnabled;!a?.shouldCacheIgnoreZoom&&(!e.angle||Ff(e.angle))&&(o.imageSmoothingEnabled=!1),Of(s,o,i,a,n),o.imageSmoothingEnabled=c}break}default:throw new Error(`Unimplemented type ${e.type}`)}o.globalAlpha=1},Uf=new WeakMap([]);function Vf(e){let t=Qs(e),n=new Path2D(t);return Uf.set(e,n),n}function Gx(e){return Uf.get(e)}function Qs(e){let t=e.simulatePressure?e.points:e.points.length?e.points.map(([r,o],i)=>[r,o,e.pressures[i]]):[[0,0,.5]],n={simulatePressure:e.simulatePressure,size:e.strokeWidth*4.25,thinning:.6,smoothing:.5,streamline:.5,easing:r=>Math.sin(r*Math.PI/2),last:!!e.lastCommittedPoint};return Hx(Gu(t,n))}function Rf(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}var zx=/(\s?[A-Z]?,?-?[0-9]*\.[0-9]{0,2})(([0-9]|e|-)*)/g;function Hx(e){if(!e.length)return"";let t=e.length-1;return e.reduce((n,r,o,i)=>(o===t?n.push(r,Rf(r,i[0]),"L",i[0],"Z"):n.push(r,Rf(r,i[o+1])),n),["M",e[0],"Q"]).join(" ").replace(zx,"$1")}g();function el(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function Ux(e,t,n){let r=el(t,n);if(r===0)return el(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),el(e,Vx(t,n,o))}function Vx(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function $f(e,t){return tl(e,0,e.length,t)}function tl(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],c=0,l=1;for(let d=t+1;d<n-1;++d){let u=Ux(e[d],a,s);u>c&&(c=u,l=d)}return Math.sqrt(c)>r?(tl(e,t,l+1,r,i),tl(e,l,n,r,i)):(i.length||i.push(a),i.push(s)),i}var $x=e=>[8,8+e],Xf=e=>[1.5,6+e];function Yx(e){let t=e.roughness,n=Math.max(e.width,e.height),r=Math.min(e.width,e.height);return r>=20&&n>=50||r>=15&&e.roundness&&Cs(e.type)||J(e)&&n>=50?t:Math.min(t/(n<10?3:2),2.5)}var ze=(e,t=!1)=>{let n={seed:e.seed,strokeLineDash:e.strokeStyle==="dashed"?$x(e.strokeWidth):e.strokeStyle==="dotted"?Xf(e.strokeWidth):void 0,disableMultiStroke:e.strokeStyle!=="solid",strokeWidth:e.strokeStyle!=="solid"?e.strokeWidth+.5:e.strokeWidth,fillWeight:e.strokeWidth/2,hachureGap:e.strokeWidth*4,roughness:Yx(e),stroke:e.strokeColor,preserveVertices:t||e.roughness<ns.cartoonist};switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":return n.fillStyle=e.fillStyle,n.fill=un(e.backgroundColor)?void 0:e.backgroundColor,e.type==="ellipse"&&(n.curveFitting=1),n;case"line":case"freedraw":return Dt(e.points)&&(n.fillStyle=e.fillStyle,n.fill=e.backgroundColor==="transparent"?void 0:e.backgroundColor),n;case"arrow":return n;default:throw new Error(`Unimplemented type ${e.type}`)}},Yf=(e,t,n)=>rt(e)&&(t||di(e)&&n?.get(e.id)!==!0)&&un(e.backgroundColor)&&un(e.strokeColor)?{...e,roughness:0,backgroundColor:"#d3d3d3",fillStyle:"solid"}:Kr(e)?{...e,strokeColor:un(e.strokeColor)?"#000000":e.strokeColor,backgroundColor:un(e.backgroundColor)?"#f4f4f6":e.backgroundColor}:e,Wf=(e,t,n,r,o,i,a)=>{let s=rl(e,t,n,r);if(s===null)return[];switch(r){case"dot":case"circle":case"circle_outline":{let[c,l,d]=s;return delete i.strokeLineDash,[o.circle(c,l,d,{...i,fill:r==="circle_outline"?a:e.strokeColor,fillStyle:"solid",stroke:e.strokeColor,roughness:Math.min(.5,i.roughness||0)})]}case"triangle":case"triangle_outline":{let[c,l,d,u,f,p]=s;return delete i.strokeLineDash,[o.polygon([[c,l],[d,u],[f,p],[c,l]],{...i,fill:r==="triangle_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"diamond":case"diamond_outline":{let[c,l,d,u,f,p,m,h]=s;return delete i.strokeLineDash,[o.polygon([[c,l],[d,u],[f,p],[m,h],[c,l]],{...i,fill:r==="diamond_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"bar":case"arrow":default:{let[c,l,d,u,f,p]=s;if(e.strokeStyle==="dotted"){let m=Xf(e.strokeWidth-1);i.strokeLineDash=[m[0],m[1]-1]}else delete i.strokeLineDash;return i.roughness=Math.min(1,i.roughness||0),[o.line(d,u,c,l,i),o.line(f,p,c,l,i)]}}},bf=(e,t,{isExporting:n,canvasBackgroundColor:r,embedsValidationStatus:o})=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":{let i;if(e.roundness){let a=e.width,s=e.height,c=Zt(Math.min(a,s),e);i=t.path(`M ${c} 0 L ${a-c} 0 Q ${a} 0, ${a} ${c} L ${a} ${s-c} Q ${a} ${s}, ${a-c} ${s} L ${c} ${s} Q 0 ${s}, 0 ${s-c} L 0 ${c} Q 0 0, ${c} 0`,ze(Yf(e,n,o),!0))}else i=t.rectangle(0,0,e.width,e.height,ze(Yf(e,n,o),!1));return i}case"diamond":{let i,[a,s,c,l,d,u,f,p]=nl(e);if(e.roundness){let m=Zt(Math.abs(a-f),e),h=Zt(Math.abs(l-s),e);i=t.path(`M ${a+m} ${s+h} L ${c-m} ${l-h}
|
|
11
|
-
C ${c} ${l}, ${c} ${l}, ${c-m} ${l+h}
|
|
12
|
-
L ${d+m} ${u-h}
|
|
13
|
-
C ${d} ${u}, ${d} ${u}, ${d-m} ${u-h}
|
|
14
|
-
L ${f+m} ${p+h}
|
|
15
|
-
C ${f} ${p}, ${f} ${p}, ${f+m} ${p-h}
|
|
16
|
-
L ${a-m} ${s+h}
|
|
17
|
-
C ${a} ${s}, ${a} ${s}, ${a+m} ${s+h}`,ze(e,!0))}else i=t.polygon([[a,s],[c,l],[d,u],[f,p]],ze(e));return i}case"ellipse":return t.ellipse(e.width/2,e.height/2,e.width,e.height,ze(e));case"line":case"arrow":{let i,a=ze(e),s=e.points.length?e.points:[[0,0]];if(e.roundness?i=[t.curve(s,a)]:a.fill?i=[t.polygon(s,a)]:i=[t.linearPath(s,a)],e.type==="arrow"){let{startArrowhead:c=null,endArrowhead:l="arrow"}=e;if(c!==null){let d=Wf(e,i,"start",c,t,a,r);i.push(...d)}if(l!==null){let d=Wf(e,i,"end",l,t,a,r);i.push(...d)}}return i}case"freedraw":{let i;if(Vf(e),Dt(e.points)){let a=$f(e.points,.75);i=t.curve(a,{...ze(e),stroke:"none"})}else i=null;return i}case"frame":case"magicframe":case"text":case"image":return null;default:return Rn(e,`generateElementShape(): Unimplemented type ${e?.type}`),null}};g();var Gi=e=>{let t=e.map(r=>r[0]),n=e.map(r=>r[1]);return{width:Math.max(...t)-Math.min(...t),height:Math.max(...n)-Math.min(...n)}},bn=(e,t,n,r)=>{let o=n.map(p=>p[e]),i=Math.max(...o),a=Math.min(...o),s=i-a,c=s===0?1:t/s,l=1/0,d=n.map(p=>{let m=p[e]*c,h=[...p];return h[e]=m,m<l&&(l=m),h});if(!r||d.length===2)return d;let u=a-l;return d.map(p=>p.map((m,h)=>h===e?m+u:m))};var ol=class e{static boundsCache=new WeakMap;static getBounds(t,n){let r=e.boundsCache.get(t);if(r?.version&&r.version===t.version&&!be(t))return r.bounds;let o=e.calculateBounds(t,n);return e.boundsCache.set(t,{version:t.version,bounds:o}),o}static calculateBounds(t,n){let r,[o,i,a,s,c,l]=G(t,n);if(ge(t)){let[d,u,f,p]=al(t.points.map(([m,h])=>V(m,h,c-t.x,l-t.y,t.angle)));return[d+t.x,u+t.y,f+t.x,p+t.y]}else if(J(t))r=qx(t,c,l,n);else if(t.type==="diamond"){let[d,u]=V(c,i,c,l,t.angle),[f,p]=V(c,s,c,l,t.angle),[m,h]=V(o,l,c,l,t.angle),[E,x]=V(a,l,c,l,t.angle),w=Math.min(d,f,m,E),y=Math.min(u,p,h,x),T=Math.max(d,f,m,E),b=Math.max(u,p,h,x);r=[w,y,T,b]}else if(t.type==="ellipse"){let d=(a-o)/2,u=(s-i)/2,f=Math.cos(t.angle),p=Math.sin(t.angle),m=Math.hypot(d*f,u*p),h=Math.hypot(u*f,d*p);r=[c-m,l-h,c+m,l+h]}else{let[d,u]=V(o,i,c,l,t.angle),[f,p]=V(o,s,c,l,t.angle),[m,h]=V(a,s,c,l,t.angle),[E,x]=V(a,i,c,l,t.angle),w=Math.min(d,f,m,E),y=Math.min(u,p,h,x),T=Math.max(d,f,m,E),b=Math.max(u,p,h,x);r=[w,y,T,b]}return r}},G=(e,t,n=!1)=>{if(ge(e))return Xx(e);if(J(e))return K.getElementAbsoluteCoords(e,t,n);if($(e)){let r=t?Se(e,t):null;if(j(r)){let o=K.getBoundTextElementPosition(r,e,t);return[o.x,o.y,o.x+e.width,o.y+e.height,o.x+e.width/2,o.y+e.height/2]}}return[e.x,e.y,e.x+e.width,e.y+e.height,e.x+e.width/2,e.y+e.height/2]},il=(e,t)=>{let[n,r,o,i,a,s]=G(e,t),c=[a,s];if(J(e)||ge(e)){let x=[],w=0;for(;w<e.points.length-1;)x.push([re([e.points[w][0]+e.x,e.points[w][1]+e.y],c,e.angle),re([e.points[w+1][0]+e.x,e.points[w+1][1]+e.y],c,e.angle)]),w++;return x}let[l,d,u,f,p,m,h,E]=[[n,r],[o,r],[n,i],[o,i],[a,r],[a,i],[n,s],[o,s]].map(x=>re(x,c,e.angle));return e.type==="diamond"?[[p,h],[p,E],[m,h],[m,E]]:e.type==="ellipse"?[[p,h],[p,E],[m,h],[m,E],[p,h],[p,E],[m,h],[m,E]]:[[l,d],[u,f],[l,u],[d,f],[l,E],[u,E],[d,h],[f,h]]};var nl=e=>{let t=Math.floor(e.width/2)+1,n=0,r=e.width,o=Math.floor(e.height/2)+1,i=t,a=e.height;return[t,n,r,o,i,a,0,o]},wn=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},Zf=(e,t,n,r,o)=>{let i=1-e;return Math.pow(i,3)*t+3*Math.pow(i,2)*e*n+3*i*Math.pow(e,2)*r+Math.pow(e,3)*o},Kf=(e,t,n,r)=>{let o=t-e,i=n-t,a=r-n,s=3*o-6*i+3*a,c=6*i-6*o,l=3*o,d=c*c-4*s*l;if(!(d>=0))return!1;let f=null,p=null,m=1/0,h=1/0;return s===0?m=h=-l/c:(m=(-c+Math.sqrt(d))/(2*s),h=(-c-Math.sqrt(d))/(2*s)),m>=0&&m<=1&&(f=Zf(m,e,t,n,r)),h>=0&&h<=1&&(p=Zf(h,e,t,n,r)),[f,p]},Wx=(e,t,n,r)=>{let o=Kf(e[0],t[0],n[0],r[0]),i=Kf(e[1],t[1],n[1],r[1]),a=Math.min(e[0],r[0]),s=Math.max(e[0],r[0]);if(o){let d=o.filter(u=>u!==null);a=Math.min(a,...d),s=Math.max(s,...d)}let c=Math.min(e[1],r[1]),l=Math.max(e[1],r[1]);if(i){let d=i.filter(u=>u!==null);c=Math.min(c,...d),l=Math.max(l,...d)}return[a,c,s,l]},po=(e,t)=>{let n=[0,0],{minX:r,minY:o,maxX:i,maxY:a}=e.reduce((s,{op:c,data:l})=>{if(c==="move")n=l;else if(c==="bcurveTo"){let d=[l[0],l[1]],u=[l[2],l[3]],f=[l[4],l[5]],p=t?t(...d):d,m=t?t(...u):u,h=t?t(...f):f,E=t?t(...n):n;n=f;let[x,w,y,T]=Wx(E,p,m,h);s.minX=Math.min(s.minX,x),s.minY=Math.min(s.minY,w),s.maxX=Math.max(s.maxX,y),s.maxY=Math.max(s.maxY,T)}return s},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r,o,i,a]},al=e=>{let t=1/0,n=1/0,r=-1/0,o=-1/0;for(let[i,a]of e)t=Math.min(t,i),n=Math.min(n,a),r=Math.max(r,i),o=Math.max(o,a);return[t,n,r,o]},Xx=e=>{let[t,n,r,o]=al(e.points),i=t+e.x,a=n+e.y,s=r+e.x,c=o+e.y;return[i,a,s,c,(i+s)/2,(a+c)/2]},Zx=e=>{switch(e){case"arrow":return 25;case"diamond":case"diamond_outline":return 12;default:return 15}},Kx=e=>{switch(e){case"bar":return 90;case"arrow":return 20;default:return 25}},rl=(e,t,n,r)=>{let o=wn(t[0]);if(o.length<1)return null;let i=n==="start"?1:o.length-1,a=o[i].data,s=[a[4],a[5]],c=[a[2],a[3]],l=[a[0],a[1]],d=o[i-1],u=[0,0];d.op==="move"?u=d.data:d.op==="bcurveTo"&&(u=[d.data[4],d.data[5]]);let f=(O,F)=>Math.pow(1-O,3)*s[F]+3*O*Math.pow(1-O,2)*c[F]+3*Math.pow(O,2)*(1-O)*l[F]+u[F]*Math.pow(O,3),[p,m]=n==="start"?u:s,[h,E]=[f(.3,0),f(.3,1)],x=Math.hypot(p-h,m-E),w=(p-h)/x,y=(m-E)/x,T=Zx(r),b=0;{let[O,F]=n==="end"?e.points[e.points.length-1]:e.points[0],[L,C]=e.points.length>1?n==="end"?e.points[e.points.length-2]:e.points[1]:[0,0];b=Math.hypot(O-L,F-C)}let S=Math.min(T,b*(r==="diamond"||r==="diamond_outline"?.25:.5)),A=p-w*S,I=m-y*S;if(r==="dot"||r==="circle"||r==="circle_outline"){let O=Math.hypot(I-m,A-p)+e.strokeWidth-2;return[p,m,O]}let P=Kx(r),[_,M]=V(A,I,p,m,-P*Math.PI/180),[k,Y]=V(A,I,p,m,P*Math.PI/180);if(r==="diamond"||r==="diamond_outline"){let O,F;if(n==="start"){let[L,C]=e.points.length>1?e.points[1]:[0,0];[O,F]=V(p+S*2,m,p,m,Math.atan2(C-m,L-p))}else{let[L,C]=e.points.length>1?e.points[e.points.length-2]:[0,0];[O,F]=V(p-S*2,m,p,m,Math.atan2(m-C,p-L))}return[p,m,_,M,O,F,k,Y]}return[p,m,_,M,k,Y]},jx=e=>{let t=It.generator(),n=ze(e),r=e.roundness?"curve":n.fill?"polygon":"linearPath";return t[r](e.points,n)},qx=(e,t,n,r)=>{let o=q(e,r);if(e.points.length<2){let[u,f]=e.points[0],[p,m]=V(e.x+u,e.y+f,t,n,e.angle),h=[p,m,p,m];if(o){let E=K.getMinMaxXYWithBoundText(e,r,[p,m,p,m],o);h=[E[0],E[1],E[2],E[3]]}return h}let a=ue.get(e)?.[0]??jx(e),s=wn(a),l=po(s,(u,f)=>V(e.x+u,e.y+f,t,n,e.angle)),d=[l[0],l[1],l[2],l[3]];if(o){let u=K.getMinMaxXYWithBoundText(e,r,d,o);d=[u[0],u[1],u[2],u[3]]}return d},He=(e,t)=>ol.getBounds(e,t),De=e=>{if(!e.length)return[0,0,0,0];let t=1/0,n=-1/0,r=1/0,o=-1/0,i=X(e);return e.forEach(a=>{let[s,c,l,d]=He(a,i);t=Math.min(t,s),r=Math.min(r,c),n=Math.max(n,l),o=Math.max(o,d)}),[t,r,n,o]},o_=(e,t)=>{let[n,r,o,i]=De(e);return[n+t.x,r+t.y,o+t.x,i+t.y]},Kt=(e,t,n,r)=>{if(!(J(e)||ge(e)))return[e.x,e.y,e.x+t,e.y+n];let o=bn(0,t,bn(1,n,e.points,r),r),i;if(ge(e))i=al(o);else{let d=It.generator(),u=e.roundness?d.curve(o,ze(e)):d.linearPath(o,ze(e)),f=wn(u);i=po(f)}let[a,s,c,l]=i;return[a+e.x,s+e.y,c+e.x,l+e.y]},Gs=(e,t)=>{let n=It.generator(),r=e.roundness==null?n.linearPath(t,ze(e)):n.curve(t,ze(e)),o=wn(r),[i,a,s,c]=po(o);return[i+e.x,a+e.y,s+e.x,c+e.y]},Ms=(e,t)=>{if(!e.length)return[0,0,0,0];let n=1/0,r=e[0],o=X(e);return e.forEach(i=>{let[a,s,c,l]=He(i,o),d=Be((a+c)/2,(s+l)/2,t.x,t.y);d<n&&(n=d,r=i)}),He(r,o)},jf=e=>{let[t,n,r,o]=De(e);return{minX:t,minY:n,maxX:r,maxY:o,width:r-t,height:o-n,midX:(t+r)/2,midY:(n+o)/2}},i_=({scrollX:e,scrollY:t,width:n,height:r,zoom:o})=>[-e,-t,-e+n/o.value,-t+r/o.value];var V=(e,t,n,r,o)=>[(e-n)*Math.cos(o)-(t-r)*Math.sin(o)+n,(e-n)*Math.sin(o)+(t-r)*Math.cos(o)+r],re=(e,t,n)=>V(e[0],e[1],t[0],t[1],n),qf=(e,t,n,r,o,i,a,s)=>{let c=Math.cos(r),l=Math.sin(r);return e.e&&e.w?t+=o+a:e.e?(t+=o*(1+c),n+=o*l,t+=a*(1-c),n+=a*-l):e.w&&(t+=o*(1-c),n+=o*-l,t+=a*(1+c),n+=a*l),e.n&&e.s?n+=i+s:e.n?(t+=i*l,n+=i*(1-c),t+=s*-l,n+=s*(1+c)):e.s&&(t+=i*-l,n+=i*(1+c),t+=s*l,n+=s*(1-c)),[t,n]};var Be=(e,t,n,r)=>{let o=n-e,i=r-t;return Math.hypot(o,i)},xr=(e,t)=>[(e[0]+t[0])/2,(e[1]+t[1])/2],Dt=(e,t=1)=>{if(e.length>=3){let[n,r]=[e[0],e[e.length-1]];return Be(n[0],n[1],r[0],r[1])<=Zd/t}return!1};var zi=(e,t,n)=>t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1]);var fo=(e,t,n)=>n?[Math.round(e/n)*n,Math.round(t/n)*n]:[e,t],Zt=(e,t)=>{if(t.roundness?.type===Fe.PROPORTIONAL_RADIUS||t.roundness?.type===Fe.LEGACY)return e*ri;if(t.roundness?.type===Fe.ADAPTIVE_RADIUS){let n=t.roundness?.value??tu,r=n/ri;return e<=r?e*ri:n}return 0},zs=(e,t)=>{let n=ue.generateElementShape(e,null);if(!n)return null;let r=wn(n[0]),o=[0,0],i=0,a=1/0,s=null;for(;i<r.length;){let{op:c,data:l}=r[i];if(c==="move"&&(o=l),c==="bcurveTo"){let d=o,u=[l[0],l[1]],f=[l[2],l[3]],p=[l[4],l[5]],m=Be(p[0],p[1],t[0],t[1]);m<a&&(a=m,s=[d,u,f,p]),o=p}i++}return s},Hs=(e,t,n,r,o)=>{let i=(c,l)=>Math.pow(1-c,3)*r[l]+3*c*Math.pow(1-c,2)*n[l]+3*Math.pow(c,2)*(1-c)*t[l]+e[l]*Math.pow(c,3),a=i(o,0),s=i(o,1);return[a,s]},Jx=(e,t)=>{let n=zs(e,t);if(!n)return[];let r=[],o=1;for(;o>0;){let i=Hs(n[0],n[1],n[2],n[3],o);r.push([i[0],i[1]]),o-=.05}return r.length&&Us(r.at(-1),t)&&r.push([t[0],t[1]]),r},Jf=(e,t)=>{let n=[];n[0]=0;let r=Jx(e,t),o=0,i=0;for(;o<r.length-1;){let a=Be(r[o][0],r[o][1],r[o+1][0],r[o+1][1]);i+=a,n.push(i),o++}return n},vf=(e,t)=>Jf(e,t).at(-1),Tf=(e,t,n)=>{let r=Jf(e,t),o=r.length-1,i=r.at(-1),a=n*i,s=0,c=o,l=0;for(;s<c;)l=Math.floor(s+(c-s)/2),r[l]<a?s=l+1:c=l;return r[l]>a&&l--,r[l]===a?l/o:1-(l+(a-r[l])/(r[l+1]-r[l]))/o},Us=(e,t)=>e[0]===t[0]&&e[1]===t[1],Ff=e=>Math.round(e/Math.PI*1e4)%5e3===0,u_=e=>e*180/Math.PI,f_=e=>e/180*Math.PI,p_=([e,t],[n,r])=>e<=n?t>=n:e>=n?r>=e:!1,m_=(e,t)=>{let n=Math.max(e[0],t[0]),r=Math.min(e[1],t[1]);return n<=r?[n,r]:null},go=(e,t,n)=>e>=t&&e<=n;g();var Qx=(e,t,n)=>{let r=n.reduce((o,i)=>(i.groupIds.includes(e)&&(o[i.id]=!0),o),{});return Object.keys(r).length<2?t.selectedGroupIds[e]||t.editingGroupId===e?{selectedElementIds:t.selectedElementIds,selectedGroupIds:{...t.selectedGroupIds,[e]:!1},editingGroupId:null}:t:{editingGroupId:t.editingGroupId,selectedGroupIds:{...t.selectedGroupIds,[e]:!0},selectedElementIds:{...t.selectedElementIds,...r}}},y_=function(){let e=null,t=null,n=null,r=(i,a,s,c)=>{if(n!==void 0&&a===t&&i===e&&s.editingGroupId===n?.editingGroupId)return n;let l={};for(let f of i){let p=f.groupIds;if(s.editingGroupId){let m=p.indexOf(s.editingGroupId);m>-1&&(p=p.slice(0,m))}if(p.length>0){let m=p[p.length-1];l[m]=!0}}let d={},u=a.reduce((f,p)=>{let m=p.groupIds.find(h=>l[h]);return m&&(f[p.id]=!0,Array.isArray(d[m])?d[m].push(p.id):d[m]=[p.id]),f},{});for(let f of Object.keys(d))d[f].length<2&&l[f]&&(l[f]=!1);return t=a,e=i,n={editingGroupId:s.editingGroupId,selectedGroupIds:l,selectedElementIds:sl({...s.selectedElementIds,...u},c)},n},o=(i,a,s,c)=>{let l=c?c.scene.getSelectedElements({selectedElementIds:i.selectedElementIds,elements:a}):lt(a,i);return l.length?r(l,a,i,s):{selectedGroupIds:{},editingGroupId:null,selectedElementIds:sl(i.selectedElementIds,s)}};return o.clearCache=()=>{t=null,e=null,n=null},o}(),b_=(e,t)=>ew(e,t)!=null,ew=(e,t)=>t.groupIds.filter(n=>n!==e.editingGroupId).find(n=>e.selectedGroupIds[n]),v_=e=>Object.entries(e.selectedGroupIds).filter(([t,n])=>n).map(([t,n])=>t),Qf=(e,t)=>{let n={...t,selectedGroupIds:{}};for(let r of e){let o=r.groupIds;if(t.editingGroupId){let i=o.indexOf(t.editingGroupId);i>-1&&(o=o.slice(0,i))}if(o.length>0){let i=o[o.length-1];n={...n,...Qx(i,n,e)}}}return n.selectedGroupIds},T_=(e,t)=>({...e,editingGroupId:t.groupIds.length?t.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:{[t.id]:!0}}),tw=(e,t)=>e.groupIds.includes(t),br=(e,t)=>{let n=[];for(let r of e.values())tw(r,t)&&n.push(r);return n},A_=(e,t)=>e.groupIds.find(n=>t[n]),ep=(e,t,n)=>{let r=[...e],o=t?e.indexOf(t):-1,i=o>-1?o:e.length;for(let a=0;a<i;a++)r[a]=n(r[a]);return r},S_=(e,t,n)=>{let r=[...e],o=n?r.indexOf(n):-1,i=o>-1?o:r.length;return r.splice(i,0,t),r},__=(e,t)=>e.filter(n=>!t[n]),I_=(e,t)=>{let n=new Map;return e.forEach(r=>{let o=r.groupIds.length===0?r.id:r.groupIds[r.groupIds.length-1],i=n.get(o)||[],a=q(r,t);a&&i.push(a),n.set(o,[...i,r])}),Array.from(n.values())},tp=e=>{let t=new Set;for(let[,n]of e)if(!n.isDeleted)for(let r of n.groupIds??[])t.add(r);return t},P_=e=>{let t=e.flatMap(o=>o.groupIds),n=new Map,r=0;for(let o of t)n.set(o,(n.get(o)??0)+1),n.get(o)>r&&(r=n.get(o));return r===e.length},np=e=>e.groupIds.length>0;g();g();g();g();g();var op=Mr(rp(),1),Ui=e=>e.replace(/"/g,"""),vr=e=>(e=e.trim(),e&&(0,op.sanitizeUrl)(Ui(e))),k_=e=>!!(e?.includes(location.origin)||e?.startsWith("/")),ip=e=>{if(e=vr(e),e.startsWith("/"))return`${location.origin}${e}`;try{new URL(e)}catch{return"about:blank"}return e};g();g();var ap=[],sp=e=>(ap=ap.concat(e),e);g();var cp='<svg viewBox="0 0 24 24" stroke-width="1" width="28" height="28" xmlns="http://www.w3.org/2000/svg">',uw='<path d="M6.164 11.755a5.314 5.314 0 0 1-4.932-5.298 5.314 5.314 0 0 1 5.311-5.311 5.314 5.314 0 0 1 5.307 5.113l8.773 8.773a3.322 3.322 0 0 1 0 4.696l-.895.895a3.322 3.322 0 0 1-4.696 0l-8.868-8.868Z" style="fill:#fff"/>',dp='<path stroke="#1b1b1f" fill="#fff" d="m7.868 11.113 7.773 7.774a2.359 2.359 0 0 0 1.667.691 2.368 2.368 0 0 0 2.357-2.358c0-.625-.248-1.225-.69-1.667L11.201 7.78 9.558 9.469l-1.69 1.643v.001Zm10.273 3.606-3.333 3.333m-3.25-6.583 2 2m-7-7 3 3M3.664 3.625l1 1M2.529 6.922l1.407-.144m5.735-2.932-1.118.866M4.285 9.823l.758-1.194m1.863-6.207-.13 1.408"/>',fw=`data:${B.svg},${encodeURIComponent(`${cp}${dp}</svg>`)}`,pw=`data:${B.svg},${encodeURIComponent(`${cp}${uw}${dp}</svg>`)}`,mw=e=>{e&&(e.style.cursor="")},hw=(e,t)=>{e&&(e.style.cursor=t)},Lt,lp,Ew=(e,t)=>{let r=()=>{let o=t===Re.DARK;Lt=document.createElement("canvas"),Lt.theme=t,Lt.height=20,Lt.width=20;let i=Lt.getContext("2d");i.lineWidth=1,i.beginPath(),i.arc(Lt.width/2,Lt.height/2,5,0,2*Math.PI),i.fillStyle=o?On.black:On.white,i.fill(),i.strokeStyle=o?On.white:On.black,i.stroke(),lp=Lt.toDataURL(B.svg)};(!Lt||Lt.theme!==t)&&r(),hw(e,`url(${lp}) ${20/2} ${20/2}, auto`)},up=(e,t)=>{if(e)if(t.activeTool.type==="selection")mw(e);else if(su(t))e.style.cursor=Jo.GRAB;else if(au(t))Ew(e,t.theme);else if(t.activeTool.type==="laser"){let n=t.theme===Re.LIGHT?fw:pw;e.style.cursor=`url(${n}), auto`}else["image","custom"].includes(t.activeTool.type)?t.activeTool.type!=="image"&&(e.style.cursor=Jo.AUTO):e.style.cursor=Jo.CROSSHAIR};g();g();var gw=new cr(Date.now()),xw=0,kt=()=>Math.floor(gw.next()*2**31);var dt=()=>Ut()?`id${xw++}`:oi();var jt=(e,{x:t,y:n,strokeColor:r=ne.strokeColor,backgroundColor:o=ne.backgroundColor,fillStyle:i=ne.fillStyle,strokeWidth:a=ne.strokeWidth,strokeStyle:s=ne.strokeStyle,roughness:c=ne.roughness,opacity:l=ne.opacity,width:d=0,height:u=0,angle:f=0,groupIds:p=[],frameId:m=null,index:h=null,roundness:E=null,boundElements:x=null,link:w=null,locked:y=ne.locked,...T})=>({id:T.id||dt(),type:e,x:t,y:n,width:d,height:u,angle:f,strokeColor:r,backgroundColor:o,fillStyle:i,strokeWidth:a,strokeStyle:s,roughness:c,opacity:l,groupIds:p,frameId:m,index:h,roundness:E,seed:T.seed??kt(),version:T.version||1,versionNonce:T.versionNonce??0,isDeleted:!1,boundElements:x,updated:Ht(),link:w,locked:y,customData:T.customData}),xo=e=>jt(e.type,e),rI=e=>jt("embeddable",e),oI=e=>({...jt("iframe",e)}),iI=e=>ut({...jt("frame",e),type:"frame",name:e?.name||null},{}),aI=e=>ut({...jt("magicframe",e),type:"magicframe",name:e?.name||null},{}),fp=(e,t)=>({x:e.textAlign==="center"?t.width/2:e.textAlign==="right"?t.width:0,y:e.verticalAlign==="middle"?t.height/2:0}),Ot=e=>{let t=e.fontFamily||tt,n=e.fontSize||Tt,r=e.lineHeight||Ri(t),o=Xs(e.text),i=Ct(o,se({fontFamily:t,fontSize:n}),r),a=e.textAlign||ir,s=e.verticalAlign||ei,c=fp({textAlign:a,verticalAlign:s},i),l={...jt("text",e),text:o,fontSize:n,fontFamily:t,textAlign:a,verticalAlign:s,x:e.x-c.x,y:e.y-c.y,width:i.width,height:i.height,containerId:e.containerId||null,originalText:e.originalText??o,autoResize:e.autoResize??!0,lineHeight:r};return ut(l,{})},ww=(e,t,n)=>{let{width:r,height:o}=Ct(n,se(e),e.lineHeight);e.autoResize||(r=e.width);let{textAlign:i,verticalAlign:a}=e,s,c;if(i==="center"&&a===zt.MIDDLE&&!e.containerId&&e.autoResize){let l=Ct(e.text,se(e),e.lineHeight),d=fp(e,{width:r-l.width,height:o-l.height});s=e.x-d.x,c=e.y-d.y}else{let[l,d,u,f]=G(e,t),[p,m,h,E]=Kt(e,r,o,!1),x=(l-p)/2,w=(d-m)/2,y=(u-h)/2,T=(f-E)/2;[s,c]=qf({s:!0,e:i==="center"||i==="left",w:i==="center"||i==="right"},e.x,e.y,e.angle,x,w,y,T)}return{width:r,height:o,x:Number.isFinite(s)?s:e.x,y:Number.isFinite(c)?c:e.y}},ll=(e,t,n,r=e.text)=>{if(e.isDeleted)return;(t||!e.autoResize)&&(r=yn(r,se(e),t?ct(t,e):e.width));let o=ww(e,n,r);return{text:r,...o}},sI=e=>({...jt(e.type,e),points:e.points||[],pressures:[],simulatePressure:e.simulatePressure,lastCommittedPoint:null}),Yn=e=>({...jt(e.type,e),points:e.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:e.startArrowhead||null,endArrowhead:e.endArrowhead||null}),yw=e=>({...jt("image",e),strokeColor:"transparent",status:e.status??"pending",fileId:e.fileId??null,scale:e.scale??[1,1]}),Vi=(e,t=0)=>{if(e==null||typeof e!="object")return e;let n=Object.prototype.toString.call(e);if(n==="[object Object]"){let r=typeof e.constructor=="function"?Object.create(Object.getPrototypeOf(e)):{};for(let o in e)if(e.hasOwnProperty(o)){if(t===0&&(o==="shape"||o==="canvas"))continue;r[o]=Vi(e[o],t+1)}return r}if(Array.isArray(e)){let r=e.length,o=new Array(r);for(;r--;)o[r]=Vi(e[r],t+1);return o}return v.DEV&&n!=="[object Object]"&&n!=="[object Array]"&&n.startsWith("[object ")&&console.warn(`_deepCloneElement: unexpected object type ${n}. This value will not be cloned!`),e},wo=e=>Vi(e),$i=e=>{if(Ut()&&e){let t=`${e}_copy`;return window.h?.app?.getSceneElementsIncludingDeleted().find(n=>n.id===t)&&(t+="_copy"),t}return dt()},bw=(e,t,n,r)=>{let o=wo(n);return o.id=$i(o.id),o.boundElements=null,o.updated=Ht(),o.seed=kt(),o.groupIds=ep(o.groupIds,e,i=>(t.has(i)||t.set(i,$i(i)),t.get(i))),r&&(o=Object.assign(o,r)),o},lI=(e,t)=>{let n=[],r=X(e),o=new Map,i=s=>{if(o.has(s))return o.get(s);if(r.has(s)){let c=$i(s);return o.set(s,c),c}return null},a=new Map;for(let s of e){let c=Vi(s);if(c.id=i(s.id),t?.randomizeSeed&&(c.seed=kt(),yo(c)),c.groupIds&&(c.groupIds=c.groupIds.map(l=>(a.has(l)||a.set(l,$i(l)),a.get(l)))),"containerId"in c&&c.containerId){let l=i(c.containerId);c.containerId=l}if("boundElements"in c&&c.boundElements&&(c.boundElements=c.boundElements.reduce((l,d)=>{let u=i(d.id);return u&&l.push({...d,id:u}),l},[])),"endBinding"in c&&c.endBinding){let l=i(c.endBinding.elementId);c.endBinding=l?{...c.endBinding,elementId:l}:null}if("startBinding"in c&&c.startBinding){let l=i(c.startBinding.elementId);c.startBinding=l?{...c.startBinding,elementId:l}:null}c.frameId&&(c.frameId=i(c.frameId)),n.push(c)}return n};g();g();g();g();var hp="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function Ar(e,t,n){let r=n[0];if(t!=null&&e>=t)throw new Error(e+" >= "+t);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw new Error("trailing zero");if(t){let a=0;for(;(e[a]||r)===t[a];)a++;if(a>0)return t.slice(0,a)+Ar(e.slice(a),t.slice(a),n)}let o=e?n.indexOf(e[0]):0,i=t!=null?n.indexOf(t[0]):n.length;if(i-o>1){let a=Math.round(.5*(o+i));return n[a]}else return t&&t.length>1?t.slice(0,1):n[o]+Ar(e.slice(1),null,n)}function Ep(e){if(e.length!==gp(e[0]))throw new Error("invalid integer part of order key: "+e)}function gp(e){if(e>="a"&&e<="z")return e.charCodeAt(0)-97+2;if(e>="A"&&e<="Z")return 90-e.charCodeAt(0)+2;throw new Error("invalid order key head: "+e)}function bo(e){let t=gp(e[0]);if(t>e.length)throw new Error("invalid order key: "+e);return e.slice(0,t)}function pp(e,t){if(e==="A"+t[0].repeat(26))throw new Error("invalid order key: "+e);let n=bo(e);if(e.slice(n.length).slice(-1)===t[0])throw new Error("invalid order key: "+e)}function mp(e,t){Ep(e);let[n,...r]=e.split(""),o=!0;for(let i=r.length-1;o&&i>=0;i--){let a=t.indexOf(r[i])+1;a===t.length?r[i]=t[0]:(r[i]=t[a],o=!1)}if(o){if(n==="Z")return"a"+t[0];if(n==="z")return null;let i=String.fromCharCode(n.charCodeAt(0)+1);return i>"a"?r.push(t[0]):r.pop(),i+r.join("")}else return n+r.join("")}function vw(e,t){Ep(e);let[n,...r]=e.split(""),o=!0;for(let i=r.length-1;o&&i>=0;i--){let a=t.indexOf(r[i])-1;a===-1?r[i]=t.slice(-1):(r[i]=t[a],o=!1)}if(o){if(n==="a")return"Z"+t.slice(-1);if(n==="A")return null;let i=String.fromCharCode(n.charCodeAt(0)-1);return i<"Z"?r.push(t.slice(-1)):r.pop(),i+r.join("")}else return n+r.join("")}function Tr(e,t,n=hp){if(e!=null&&pp(e,n),t!=null&&pp(t,n),e!=null&&t!=null&&e>=t)throw new Error(e+" >= "+t);if(e==null){if(t==null)return"a"+n[0];let c=bo(t),l=t.slice(c.length);if(c==="A"+n[0].repeat(26))return c+Ar("",l,n);if(c<t)return c;let d=vw(c,n);if(d==null)throw new Error("cannot decrement any more");return d}if(t==null){let c=bo(e),l=e.slice(c.length),d=mp(c,n);return d??c+Ar(l,null,n)}let r=bo(e),o=e.slice(r.length),i=bo(t),a=t.slice(i.length);if(r===i)return r+Ar(o,a,n);let s=mp(r,n);if(s==null)throw new Error("cannot increment any more");return s<t?s:r+Ar(o,null,n)}function Yi(e,t,n,r=hp){if(n===0)return[];if(n===1)return[Tr(e,t,r)];if(t==null){let a=Tr(e,t,r),s=[a];for(let c=0;c<n-1;c++)a=Tr(a,t,r),s.push(a);return s}if(e==null){let a=Tr(e,t,r),s=[a];for(let c=0;c<n-1;c++)a=Tr(e,a,r),s.push(a);return s.reverse(),s}let o=Math.floor(n/2),i=Tr(e,t,r);return[...Yi(e,i,o,r),i,...Yi(i,t,n-o-1,r)]}g();var Wi=class extends Error{constructor(t="Couldn't export canvas.",n="CANVAS_ERROR"){super(),this.name=n,this.message=t}},Xi=class extends DOMException{constructor(t="Request Aborted"){super(t,"AbortError")}},qt=class extends Error{code;constructor(t="Image Scene Data Error",n="IMAGE_SCENE_DATA_ERROR"){super(t),this.name="EncodingError",this.code=n}},Zi=class extends Error{code="ELEMENT_HAS_INVALID_INDEX"};var dl=e=>{for(let[t,n]of e.entries()){let r=e[t-1],o=e[t+1];if(!cl(n,r,o))throw new Zi(`Fractional indices invariant for element has been compromised - ["${r}", "${n}", "${o}"] [predecessor, current, successor]`)}},wp=e=>e.sort((t,n)=>xp(t)&&xp(n)?t.index<n.index?-1:t.index>n.index?1:t.id<n.id?-1:1:1),vo=(e,t)=>{try{let n=Tw(e,t),r=yp(e,n);dl(e.map(o=>r.get(o)?.index||o.index));for(let[o,i]of r)R(o,i,!1)}catch{Wn(e)}return e},Wn=e=>{let t=Aw(e),n=yp(e,t);for(let[r,o]of n)R(r,o,!1);return e},Tw=(e,t)=>{let n=[],r=0;for(;r<e.length;)if(t.has(e[r].id)){let o=[r-1,r];for(;++r<e.length&&t.has(e[r].id);)o.push(r);o.push(r),n.push(o)}else r++;return n},Aw=e=>{let t=[],n,r,o=-1,i=0,a=l=>{let d=e[o]?e[o].index:void 0,u=e[l-1]?.index;return!d&&u||d&&u&&u>d?[u,l-1]:[d,o]},s=l=>{let d=e[i]?e[i].index:void 0;if(d&&l<i)return[d,i];let u=i;for(;++u<e.length;){let f=e[u]?.index;if(!d&&f||d&&f&&f>d)return[f,u]}return[void 0,u]},c=0;for(;c<e.length;){let l=e[c].index;if([n,o]=a(c),[r,i]=s(c),cl(l,n,r))c++;else{let d=[o,c];for(;++c<e.length;){let u=e[c].index,[f,p]=a(c),[m,h]=s(c);if(cl(u,f,m))break;[n,o]=[f,p],[r,i]=[m,h],d.push(c)}d.push(i),t.push(d)}}return t},cl=(e,t,n)=>e?t&&n?t<e&&e<n:!t&&n?e<n:t&&!n?t<e:!!e:!1,yp=(e,t)=>{let n=new Map;for(let r of t){let o=r.shift(),i=r.pop(),a=Yi(e[o]?.index,e[i]?.index,r.length);for(let s=0;s<r.length;s++){let c=e[r[s]];n.set(c,{index:a[s]})}}return n},xp=e=>!!e.index;var ce=class e{constructor(t,n){this.deleted=t;this.inserted=n}static create(t,n,r,o){let i=r&&o!=="inserted"?r(t):t,a=r&&o!=="deleted"?r(n):n;return new e(i,a)}static calculate(t,n,r,o){if(t===n)return e.empty();let i={},a={};for(let l of this.distinctKeysIterator("full",t,n))i[l]=t[l],a[l]=n[l];let[s,c]=o?o(i,a):[i,a];return e.create(s,c,r)}static empty(){return new e({},{})}static isEmpty(t){return!Object.keys(t.deleted).length&&!Object.keys(t.inserted).length}static mergeObjects(t,n,r){let o={...t};for(let i of Object.keys(r))delete o[i];return{...o,...n}}static mergeArrays(t,n,r,o){return Object.values(e.mergeObjects(At(t??[],o),At(n??[],o),At(r??[],o)))}static diffObjects(t,n,r,o){if(!(!t[r]&&!n[r])&&(typeof t[r]=="object"||typeof n[r]=="object")){let i=t[r]??{},a=n[r]??{},s=e.getLeftDifferences(i,a).reduce((l,d)=>(l[d]=o(i[d]),l),{}),c=e.getRightDifferences(i,a).reduce((l,d)=>(l[d]=o(a[d]),l),{});Object.keys(s).length||Object.keys(c).length?(Reflect.set(t,r,s),Reflect.set(n,r,c)):(Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r))}}static diffArrays(t,n,r,o){if(!(!t[r]&&!n[r])&&(Array.isArray(t[r])||Array.isArray(n[r]))){let i=Array.isArray(t[r])?t[r]:[],a=Array.isArray(n[r])?n[r]:[],s=At(e.getLeftDifferences(At(i,o),At(a,o))),c=At(e.getRightDifferences(At(i,o),At(a,o)));if(Object.keys(s).length||Object.keys(c).length){let l=i.filter(u=>s[o?o(u):String(u)]),d=a.filter(u=>c[o?o(u):String(u)]);Reflect.set(t,r,l),Reflect.set(n,r,d)}else Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r)}}static isLeftDifferent(t,n,r=!1){return!!this.distinctKeysIterator("left",t,n,r).next().value}static isRightDifferent(t,n,r=!1){return!!this.distinctKeysIterator("right",t,n,r).next().value}static getLeftDifferences(t,n,r=!1){return Array.from(this.distinctKeysIterator("left",t,n,r))}static getRightDifferences(t,n,r=!1){return Array.from(this.distinctKeysIterator("right",t,n,r))}static*distinctKeysIterator(t,n,r,o=!1){if(n===r)return;let i=[];t==="left"?i=Object.keys(n):t==="right"?i=Object.keys(r):t==="full"?i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])):Rn(t,`Unknown distinctKeysIterator's join param "${t}"`,!0);for(let a of i){let s=n[a],c=r[a];if(s!==c){if(!o&&typeof s=="object"&&typeof c=="object"&&s!==null&&c!==null&&Vt(s,c))continue;yield a}}}},To=class e{constructor(t){this.delta=t}static calculate(t,n){let r=ce.calculate(t,n,void 0,e.postProcess);return new e(r)}static empty(){return new e(ce.create({},{}))}inverse(){let t=ce.create(this.delta.inserted,this.delta.deleted);return new e(t)}applyTo(t,n){try{let{selectedElementIds:r={},selectedGroupIds:o={}}=this.delta.deleted,{selectedElementIds:i={},selectedGroupIds:a={},selectedLinearElementId:s,editingLinearElementId:c,...l}=this.delta.inserted,d=ce.mergeObjects(t.selectedElementIds,i,r),u=ce.mergeObjects(t.selectedGroupIds,a,o),f=s&&n.has(s)?new K(n.get(s)):null,p=c&&n.has(c)?new K(n.get(c)):null,m={...t,...l,selectedElementIds:d,selectedGroupIds:u,selectedLinearElement:typeof s<"u"?f:t.selectedLinearElement,editingLinearElement:typeof c<"u"?p:t.editingLinearElement},h=this.filterInvisibleChanges(t,m,n);return[m,h]}catch(r){if(console.error("Couldn't apply appstate change",r),v.DEV||v.MODE===et.TEST)throw r;return[t,!1]}}isEmpty(){return ce.isEmpty(this.delta)}static postProcess(t,n){try{ce.diffObjects(t,n,"selectedElementIds",r=>!0),ce.diffObjects(t,n,"selectedGroupIds",r=>r??!1)}catch(r){if(console.error("Couldn't postprocess appstate change deltas."),v.DEV||v.MODE===et.TEST)throw r}finally{return[t,n]}}filterInvisibleChanges(t,n,r){let o=So(t),i=So(n),a=ce.isRightDifferent(e.stripElementsProps(o),e.stripElementsProps(i)),s=ce.isRightDifferent(e.stripStandaloneProps(o),e.stripStandaloneProps(i));if(!a&&!s)return!1;let c={value:a};if(s){let l=ce.getRightDifferences(e.stripStandaloneProps(o),e.stripStandaloneProps(i)),d=new Set;(l.includes("editingGroupId")||l.includes("selectedGroupIds"))&&(d=tp(r));for(let u of l)switch(u){case"selectedElementIds":n[u]=e.filterSelectedElements(n[u],r,c);break;case"selectedGroupIds":n[u]=e.filterSelectedGroups(n[u],d,c);break;case"editingGroupId":let f=n[u];f?d.has(f)?c.value=!0:n[u]=null:c.value=!0;break;case"selectedLinearElementId":case"editingLinearElementId":let p=e.convertToAppStateKey(u),m=n[p];if(!m)c.value=!0;else{let h=r.get(m.elementId);h&&!h.isDeleted?c.value=!0:n[p]=null}break;default:Rn(u,`Unknown ObservedElementsAppState's key "${u}"`,!0)}}return c.value}static convertToAppStateKey(t){switch(t){case"selectedLinearElementId":return"selectedLinearElement";case"editingLinearElementId":return"editingLinearElement"}}static filterSelectedElements(t,n,r){let o=Object.keys(t);if(!o.length)return r.value=!0,t;let i={...t};for(let a of o){let s=n.get(a);s&&!s.isDeleted?r.value=!0:delete i[a]}return i}static filterSelectedGroups(t,n,r){if(!Object.keys(t).length)return r.value=!0,t;let i={...t};for(let a of Object.keys(i))n.has(a)?r.value=!0:delete i[a];return i}static stripElementsProps(t){let{editingGroupId:n,selectedGroupIds:r,selectedElementIds:o,editingLinearElementId:i,selectedLinearElementId:a,...s}=t;return s}static stripStandaloneProps(t){let{name:n,viewBackgroundColor:r,...o}=t;return o}},Ao=class e{constructor(t,n,r){this.added=t;this.removed=n;this.updated=r}static create(t,n,r,o={shouldRedistribute:!1}){let i;if(o.shouldRedistribute){let a=new Map,s=new Map,c=new Map,l=[...t,...n,...r];for(let[d,u]of l)this.satisfiesAddition(u)?a.set(d,u):this.satisfiesRemoval(u)?s.set(d,u):c.set(d,u);i=new e(a,s,c)}else i=new e(t,n,r);return(v.DEV||v.MODE===et.TEST)&&(e.validate(i,"added",this.satisfiesAddition),e.validate(i,"removed",this.satisfiesRemoval),e.validate(i,"updated",this.satisfiesUpdate)),i}static satisfiesAddition=({deleted:t,inserted:n})=>t.isDeleted===!0&&!n.isDeleted;static satisfiesRemoval=({deleted:t,inserted:n})=>!t.isDeleted&&n.isDeleted===!0;static satisfiesUpdate=({deleted:t,inserted:n})=>!!t.isDeleted==!!n.isDeleted;static validate(t,n,r){for(let[o,i]of t[n].entries())if(!r(i))throw console.error(`Broken invariant for "${n}" delta, element "${o}", delta:`,i),new Error(`ElementsChange invariant broken for element "${o}".`)}static calculate(t,n){if(t===n)return e.empty();let r=new Map,o=new Map,i=new Map;for(let a of t.values())if(!n.get(a.id)){let c={...a,isDeleted:!1},l={isDeleted:!0},d=ce.create(c,l,e.stripIrrelevantProps);o.set(a.id,d)}for(let a of n.values()){let s=t.get(a.id);if(!s){let c={isDeleted:!0},l={...a,isDeleted:!1},d=ce.create(c,l,e.stripIrrelevantProps);r.set(a.id,d);continue}if(s.versionNonce!==a.versionNonce){let c=ce.calculate(s,a,e.stripIrrelevantProps,e.postProcess);if(typeof s.isDeleted=="boolean"&&typeof a.isDeleted=="boolean"&&s.isDeleted!==a.isDeleted){s.isDeleted&&!a.isDeleted?r.set(a.id,c):o.set(a.id,c);continue}ce.isEmpty(c)||i.set(a.id,c)}}return e.create(r,o,i)}static empty(){return e.create(new Map,new Map,new Map)}inverse(){let t=i=>{let a=new Map;for(let[s,c]of i.entries())a.set(s,ce.create(c.inserted,c.deleted));return a},n=t(this.added),r=t(this.removed),o=t(this.updated);return e.create(r,n,o)}isEmpty(){return this.added.size===0&&this.removed.size===0&&this.updated.size===0}applyLatestChanges(t){let n=s=>c=>{let l={};for(let d of Object.keys(c))switch(d){case"boundElements":l[d]=c[d];break;default:l[d]=s[d]}return l},r=s=>{let c=new Map;for(let[l,d]of s.entries()){let u=t.get(l);if(u){let f=ce.create(d.deleted,d.inserted,n(u),"inserted");c.set(l,f)}else c.set(l,d)}return c},o=r(this.added),i=r(this.removed),a=r(this.updated);return e.create(o,i,a,{shouldRedistribute:!0})}applyTo(t,n){let r=$t(new Map(t)),o,i={containsVisibleDifference:!1,containsZindexDifference:!1};try{let a=e.createApplier(r,n,i),s=a(this.added),c=a(this.removed),l=a(this.updated),d=this.resolveConflicts(t,r);o=new Map([...s,...c,...l,...d])}catch(a){if(console.error("Couldn't apply elements change",a),v.DEV||v.MODE===et.TEST)throw a;return[t,!0]}try{e.redrawTextBoundingBoxes(r,o),e.redrawBoundArrows(r,o),r=e.reorderElements(r,o,i)}catch(a){if(console.error("Couldn't mutate elements after applying elements change",a),v.DEV||v.MODE===et.TEST)throw a}finally{return[r,i.containsVisibleDifference]}}static createApplier=(t,n,r)=>{let o=e.createGetter(t,n,r);return i=>Array.from(i.entries()).reduce((a,[s,c])=>{let l=o(s,c.inserted);if(l){let d=e.applyDelta(l,c,r);t.set(d.id,d),a.set(d.id,d)}return a},new Map)};static createGetter=(t,n,r)=>(o,i)=>{let a=t.get(o);return a||(a=n.get(o),a&&(r.containsZindexDifference=!0,(i.isDeleted===!1||i.isDeleted!==!0&&a.isDeleted===!1)&&(r.containsVisibleDifference=!0))),a};static applyDelta(t,n,r={containsVisibleDifference:!0,containsZindexDifference:!0}){let{boundElements:o,...i}=n.inserted;if(n.deleted.boundElements?.length||n.inserted.boundElements?.length){let a=ce.mergeArrays(t.boundElements,n.inserted.boundElements,n.deleted.boundElements,s=>s.id);Object.assign(i,{boundElements:a})}if(!r.containsVisibleDifference){let{index:a,...s}=i,c=e.checkForVisibleDifference(t,s);r.containsVisibleDifference=c}return r.containsZindexDifference||(r.containsZindexDifference=n.deleted.index!==n.inserted.index),ut(t,i)}static checkForVisibleDifference(t,n){return t.isDeleted&&n.isDeleted!==!1?!1:t.isDeleted&&n.isDeleted===!1||t.isDeleted===!1&&n.isDeleted?!0:ce.isRightDifferent(t,n)}resolveConflicts(t,n){let r=new Map,o=(l,d)=>{let u=n.get(l.id);if(!u)return;let f;t.get(l.id)===u?f=ut(u,d):f=R(u,d),r.set(f.id,f),n.set(f.id,f)};for(let[l]of this.removed)e.unbindAffected(t,n,l,o);for(let[l]of this.added)e.rebindAffected(t,n,l,o);for(let[l]of Array.from(this.updated).filter(([d,u])=>Object.keys({...u.deleted,...u.inserted}).find(f=>yf.has(f)))){let d=n.get(l);!d||d.isDeleted||e.rebindAffected(t,n,l,o)}let i=new Map(Array.from(t).filter(([l])=>r.has(l))),{added:a,removed:s,updated:c}=e.calculate(i,r);for(let[l,d]of a)this.added.set(l,d);for(let[l,d]of s)this.removed.set(l,d);for(let[l,d]of c)this.updated.set(l,d);return r}static unbindAffected(t,n,r,o){let i=()=>t.get(r),a=()=>n.get(r);En.unbindAffected(n,i(),o),En.unbindAffected(n,a(),o),gn.unbindAffected(n,i(),o),gn.unbindAffected(n,a(),o)}static rebindAffected(t,n,r,o){let i=()=>t.get(r),a=()=>n.get(r);En.unbindAffected(n,i(),o),En.rebindAffected(n,a(),o),gn.unbindAffected(n,i(),(s,c)=>{$(s)&&o(s,c)}),gn.rebindAffected(n,a(),o)}static redrawTextBoundingBoxes(t,n){let r=new Map;for(let o of n.values()){if(be(o)){let{containerId:i}=o,a=i?t.get(i):void 0;a&&r.set(a.id,{container:a,boundText:o})}if(lr(o)){let i=Xt(o),a=i?t.get(i):void 0;a&&r.set(o.id,{container:o,boundText:a})}}for(let{container:o,boundText:i}of r.values())o.isDeleted||i.isDeleted||Ks(i,o,t,!1)}static redrawBoundArrows(t,n){for(let r of n.values())!r.isDeleted&&Fn(r)&&Mt(r,t)}static reorderElements(t,n,r){if(!r.containsZindexDifference)return t;let o=Array.from(t.values()),i=wp([...o]),a=ce.getRightDifferences(o,i,!0).reduce((s,c)=>{let l=o[Number(c)];return l&&n.has(l.id)&&s.set(l.id,l),s},new Map);return!r.containsVisibleDifference&&a.size&&(r.containsVisibleDifference=!0),X(vo(i,a))}static postProcess(t,n){try{ce.diffArrays(t,n,"boundElements",r=>r.id)}catch(r){if(console.error("Couldn't postprocess elements change deltas."),v.DEV||v.MODE===et.TEST)throw r}finally{return[t,n]}}static stripIrrelevantProps(t){let{id:n,updated:r,version:o,versionNonce:i,seed:a,...s}=t;return s}};g();var Ki=class{subscribers=[];on(...t){let n=t.flat().filter(r=>typeof r=="function");return this.subscribers.push(...n),()=>this.off(n)}once(...t){let n=t.flat().filter(o=>typeof o=="function");n.push(()=>r());let r=this.on(...n);return r}off(...t){let n=t.flat();this.subscribers=this.subscribers.filter(r=>!n.includes(r))}trigger(...t){for(let n of this.subscribers)n(...t);return this}clear(){this.subscribers=[]}};var vp="__observedAppState",So=e=>{let t={name:e.name,editingGroupId:e.editingGroupId,viewBackgroundColor:e.viewBackgroundColor,selectedElementIds:e.selectedElementIds,selectedGroupIds:e.selectedGroupIds,editingLinearElementId:e.editingLinearElement?.elementId||null,selectedLinearElementId:e.selectedLinearElement?.elementId||null};return Reflect.defineProperty(t,vp,{value:!0,enumerable:!1}),t},Sw=e=>!!Reflect.get(e,vp),Sr={CAPTURE:"capture",UPDATE:"update",NONE:"none"},ul=class{constructor(t,n){this.elementsChange=t;this.appStateChange=n}},bp=class{onStoreIncrementEmitter=new Ki;scheduledActions=new Set;_snapshot=ji.empty();get snapshot(){return this._snapshot}set snapshot(t){this._snapshot=t}shouldCaptureIncrement=()=>{this.scheduleAction(Sr.CAPTURE)};shouldUpdateSnapshot=()=>{this.scheduleAction(Sr.UPDATE)};scheduleAction=t=>{this.scheduledActions.add(t),this.satisfiesScheduledActionsInvariant()};commit=(t,n)=>{try{this.scheduledActions.has(Sr.CAPTURE)?this.captureIncrement(t,n):this.scheduledActions.has(Sr.UPDATE)&&this.updateSnapshot(t,n)}finally{this.satisfiesScheduledActionsInvariant(),this.scheduledActions=new Set}};captureIncrement=(t,n)=>{let r=this.snapshot,o=this.snapshot.maybeClone(t,n);if(r!==o){let i=o.meta.didElementsChange?Ao.calculate(r.elements,o.elements):Ao.empty(),a=o.meta.didAppStateChange?To.calculate(r.appState,o.appState):To.empty();(!i.isEmpty()||!a.isEmpty())&&this.onStoreIncrementEmitter.trigger(new ul(i,a)),this.snapshot=o}};updateSnapshot=(t,n)=>{let r=this.snapshot.maybeClone(t,n);this.snapshot!==r&&(this.snapshot=r)};filterUncomittedElements=(t,n)=>{for(let[r,o]of t.entries()){if(!n.get(r))continue;let a=this.snapshot.elements.get(r);a?a.version<o.version&&n.set(r,a):n.delete(r)}return n};clear=()=>{this.snapshot=ji.empty(),this.scheduledActions=new Set};satisfiesScheduledActionsInvariant=()=>{if(!(this.scheduledActions.size>=0&&this.scheduledActions.size<=3)){let t=`There can be at most three store actions scheduled at the same time, but there are "${this.scheduledActions.size}".`;if(console.error(t,this.scheduledActions.values()),v.DEV||v.MODE===et.TEST)throw new Error(t)}}},ji=class e{constructor(t,n,r={didElementsChange:!1,didAppStateChange:!1,isEmpty:!1}){this.elements=t;this.appState=n;this.meta=r}static empty(){return new e(new Map,So(nt()),{didElementsChange:!1,didAppStateChange:!1,isEmpty:!0})}isEmpty(){return this.meta.isEmpty}maybeClone(t,n){let r=this.maybeCreateElementsSnapshot(t),o=this.maybeCreateAppStateSnapshot(n),i=!1,a=!1;return this.elements!==r&&(i=!0),this.appState!==o&&(a=!0),!i&&!a?this:new e(r,o,{didElementsChange:i,didAppStateChange:a})}maybeCreateAppStateSnapshot(t){if(!t)return this.appState;let n=Sw(t)?t:So(t);return this.detectChangedAppState(n)?n:this.appState}detectChangedAppState(t){return!Vt(this.appState,t,{selectedElementIds:Vt,selectedGroupIds:Vt})}maybeCreateElementsSnapshot(t){return t?this.detectChangedElements(t)?this.createElementsSnapshot(t):this.elements:this.elements}detectChangedElements(t){if(this.elements===t)return!1;if(this.elements.size!==t.size)return!0;let n=Array.from(t.keys());for(let r=n.length-1;r>=0;r--){let o=this.elements.get(n[r]),i=t.get(n[r]);if(!o||!i||o.id!==i.id||o.versionNonce!==i.versionNonce)return!0}return!1}createElementsSnapshot(t){let n=new Map;for(let[r,o]of this.elements.entries())t.get(r)?n.set(r,o):n.set(r,ut(o,{isDeleted:!0}));for(let[r,o]of t.entries()){let i=n.get(r);(!i||i&&i.versionNonce!==o.versionNonce)&&n.set(r,wo(o))}return n}};var Jt=new Map,_w=/^(?:http(?:s)?:\/\/)?(?:www\.)?youtu(?:be\.com|\.be)\/(embed\/|watch\?v=|shorts\/|playlist\?list=|embed\/videoseries\?list=)?([a-zA-Z0-9_-]+)(?:\?t=|&t=|\?start=|&start=)?([a-zA-Z0-9_-]+)?[^\s]*$/,Iw=/^(?:http(?:s)?:\/\/)?(?:(?:w){3}\.)?(?:player\.)?vimeo\.com\/(?:video\/)?([^?\s]+)(?:\?.*)?$/,Pw=/^https:\/\/(?:www\.)?figma\.com/,Tp=/^https:\/\/gist\.github\.com\/([\w_-]+)\/([\w_-]+)/,Mw=/^<script[\s\S]*?\ssrc=["'](https:\/\/gist\.github\.com\/.*?)\.js["']/i,Ap=/(?:https?:\/\/)?(?:(?:w){3}\.)?(?:twitter|x)\.com\/[^/]+\/status\/(\d+)/,Dw=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:twitter|x)\.com\/[^"']*)/i,Cw=/^https:\/\/(?:www\.)?val\.town\/(v|embed)\/[a-zA-Z_$][0-9a-zA-Z_$]+\.[a-zA-Z_$][0-9a-zA-Z_$]+/,Lw=/^<(?:iframe|blockquote)[\s\S]*?\s(?:src|href)=["']([^"']*)["'][\s\S]*?>$/i,Sp=/giphy.com\/(?:clips|embed|gifs)\/[a-zA-Z0-9]*?-?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9]|$)/,fl=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","link.excalidraw.com","gist.github.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com","val.town","giphy.com"]),_p=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com"]),Ip=e=>`<html><body>${e}</body></html>`,Pp=e=>{if(!e)return null;if(Jt.has(e))return Jt.get(e);let t=e,n=_p.has(pl(e,_p)||""),r="generic",o={w:560,h:840},i=e.match(_w);if(i?.[2]){let l=i[3]?`&start=${i[3]}`:"",d=e.includes("shorts");switch(r="video",i[1]){case"embed/":case"watch?v=":case"shorts/":e=`https://www.youtube.com/embed/${i[2]}?enablejsapi=1${l}`;break;case"playlist?list=":case"embed/videoseries?list=":e=`https://www.youtube.com/embed/videoseries?list=${i[2]}&enablejsapi=1${l}`;break;default:e=`https://www.youtube.com/embed/${i[2]}?enablejsapi=1${l}`;break}return o=d?{w:315,h:560}:{w:560,h:315},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}}let a=e.match(Iw);if(a?.[1]){let l=a?.[1],d=/^\d+$/.test(l)?void 0:new URIError("Invalid embed link format");return r="video",e=`https://player.vimeo.com/video/${l}?api=1`,o={w:560,h:315},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,error:d,sandbox:{allowSameOrigin:n}}}if(e.match(Pw))return r="generic",e=`https://www.figma.com/embed?embed_host=share&url=${encodeURIComponent(e)}`,o={w:550,h:550},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}};let c=e.match(Cw);if(c)return e=c[1]==="embed"?c[0]:c[0].replace("/v","/embed"),Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}};if(Ap.test(e)){let l=e.match(Ap)[1],d=Ui(`https://twitter.com/x/status/${l}`),u={type:"document",srcdoc:f=>Ip(`<blockquote class="twitter-tweet" data-dnt="true" data-theme="${f}"><a href="${d}"></a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:n}};return Jt.set(t,u),u}if(Tp.test(e)){let[,l,d]=e.match(Tp),u=Ui(`https://gist.github.com/${l}/${d}`),f={type:"document",srcdoc:()=>Ip(`
|
|
18
|
-
<script src="${u}.js"><\/script>
|
|
19
|
-
<style type="text/css">
|
|
20
|
-
* { margin: 0px; }
|
|
21
|
-
table, .gist { height: 100%; }
|
|
22
|
-
.gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }
|
|
23
|
-
</style>
|
|
24
|
-
`),intrinsicSize:{w:550,h:720},sandbox:{allowSameOrigin:n}};return Jt.set(e,f),f}return Jt.set(e,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}},qi=e=>{let t;Kr(e)?t="IFrame element":t=!e.link||e?.link===""?"Empty Web-Embed":e.link;let n=Math.max(Math.min(e.width/2,e.width/t.length),e.width/30),r=Ee.Helvetica,o=se({fontSize:n,fontFamily:r});return Ot({x:e.x+e.width/2,y:e.y+e.height/2,strokeColor:e.strokeColor!=="transparent"?e.strokeColor:"black",backgroundColor:"transparent",fontFamily:r,fontSize:n,text:yn(t,o,e.width-20),textAlign:"center",verticalAlign:zt.MIDDLE,angle:e.angle??0})},JI=sp({name:"setEmbeddableAsActiveTool",trackEvent:{category:"toolbar"},target:"Tool",label:"toolBar.embeddable",perform:(e,t,n,r)=>{let o=Xr(t,{type:"embeddable"});return up(r.canvas,{...t,activeTool:o}),{elements:e,appState:{...t,activeTool:Xr(t,{type:"embeddable"})},storeAction:Sr.NONE}}}),pl=(e,t)=>{try{let{hostname:n}=new URL(e),r=n.replace(/^www\./,"");if(t instanceof Set){if(fl.has(r))return r;let i=r.replace(/^([^.]+)/,"*");return fl.has(i)?i:null}let o=t.replace(/^www\./,"");if(r===o)return o}catch{}return null},QI=e=>{let t=e.match(Dw);if(t&&t.length===2)return t[1];let n=e.match(Mw);if(n&&n.length===2)return n[1];if(Sp.test(e))return`https://giphy.com/embed/${Sp.exec(e)[1]}`;let r=e.match(Lw);return r&&r.length===2?r[1]:e},e2=(e,t)=>{if(!e)return!1;if(t!=null)if(typeof t=="function"){let n=t(e);if(typeof n=="boolean")return n}else{if(typeof t=="boolean")return t;if(t instanceof RegExp)return t.test(e);if(Array.isArray(t)){for(let n of t)if(n instanceof RegExp){if(e.match(n))return!0}else if(pl(e,n))return!0;return!1}}return!!pl(e,fl)};var _o=(e,t,n)=>{if(typeof n>"u")return e.draw(t);let r={sets:t.sets,shape:t.shape,options:{...t.options,fixedDecimalPlaceDigits:n}};return e.draw(r)},Io=(e,t,n,r,o)=>{if(!r.enabled||!r.clip)return null;let i=Ce(e,o);if(i){let a=t.ownerDocument.createElementNS(Q,"g");return a.setAttributeNS(Q,"clip-path",`url(#${i.id})`),n.forEach(s=>a.appendChild(s)),a}return null},Ji=(e,t,n,r,o,i,a,s)=>{let c={x:i,y:a},[l,d,u,f]=G(e,t),p=(u-l)/2-(e.x-l),m=(f-d)/2-(e.y-d);if($(e)){let y=Se(e,t);if(j(y)){let[T,b,D,S]=G(y,t),A=K.getBoundTextElementPosition(y,e,t);p=(D-T)/2-(A.x-T),m=(S-b)/2-(A.y-b),i=i+A.x-e.x,a=a+A.y-e.y}}let h=180*e.angle/Math.PI,E=r;if(e.link){let y=r.ownerDocument.createElementNS(Q,"a");y.setAttribute("href",vr(e.link)),E.appendChild(y),E=y}let x=(y,T)=>{Ut()&&y.setAttribute("data-id",T.id),E.appendChild(y)},w=(Ce(e,t)?.opacity??100)*e.opacity/1e4;switch(e.type){case"selection":throw new Error("Selection rendering is not supported for SVG");case"rectangle":case"diamond":case"ellipse":{let y=ue.generateElementShape(e,null),T=_o(n,y,ar);w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);let b=Io(e,E,[T],s.frameRendering,t);x(b||T,e);break}case"iframe":case"embeddable":{let y=ue.generateElementShape(e,s),T=_o(n,y,ar),b=e.opacity/100;b!==1&&(T.setAttribute("stroke-opacity",`${b}`),T.setAttribute("fill-opacity",`${b}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),x(T,e);let D=qi(e);Ji(D,t,n,E,o,D.x+c.x-e.x,D.y+c.y-e.y,s);let S=_o(n,y,ar);for(S.setAttribute("stroke-linecap","round"),S.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);S.firstChild;)S.removeChild(S.firstChild);let A=Zt(Math.min(e.width,e.height),e),I=Pp(ip(e.link||""));if(s.renderEmbeddables===!1||I?.type==="document"){let P=r.ownerDocument.createElementNS(Q,"a");P.setAttribute("href",vr(e.link||"")),P.setAttribute("target","_blank"),P.setAttribute("rel","noopener noreferrer"),P.style.borderRadius=`${A}px`,S.appendChild(P)}else{let P=r.ownerDocument.createElementNS(Q,"foreignObject");P.style.width=`${e.width}px`,P.style.height=`${e.height}px`,P.style.border="none";let _=P.ownerDocument.createElementNS(Q,"div");_.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),_.style.width="100%",_.style.height="100%";let M=_.ownerDocument.createElement("iframe");M.src=I?.link??"",M.style.width="100%",M.style.height="100%",M.style.border="none",M.style.borderRadius=`${A}px`,M.style.top="0",M.style.left="0",M.allowFullscreen=!0,_.appendChild(M),P.appendChild(_),S.appendChild(P)}x(S,e);break}case"line":case"arrow":{let y=q(e,t),T=r.ownerDocument.createElementNS(Q,"mask");if(y){T.setAttribute("id",`mask-${e.id}`);let A=r.ownerDocument.createElementNS(Q,"rect");i=i||0,a=a||0,A.setAttribute("x","0"),A.setAttribute("y","0"),A.setAttribute("fill","#fff"),A.setAttribute("width",`${e.width+100+i}`),A.setAttribute("height",`${e.height+100+a}`),T.appendChild(A);let I=r.ownerDocument.createElementNS(Q,"rect"),P=K.getBoundTextElementPosition(e,y,t),_=i+P.x-e.x,M=a+P.y-e.y;I.setAttribute("x",_.toString()),I.setAttribute("y",M.toString()),I.setAttribute("fill","#000"),I.setAttribute("width",`${y.width}`),I.setAttribute("height",`${y.height}`),I.setAttribute("opacity","1"),T.appendChild(I)}let b=r.ownerDocument.createElementNS(Q,"g");y&&b.setAttribute("mask",`url(#mask-${e.id})`),b.setAttribute("stroke-linecap","round"),ue.generateElementShape(e,s).forEach(A=>{let I=_o(n,A,ar);w!==1&&(I.setAttribute("stroke-opacity",`${w}`),I.setAttribute("fill-opacity",`${w}`)),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),e.type==="line"&&Dt(e.points)&&e.backgroundColor!=="transparent"&&I.setAttribute("fill-rule","evenodd"),b.appendChild(I)});let S=Io(e,E,[b,T],s.frameRendering,t);S?(x(S,e),E.appendChild(S)):(x(b,e),E.append(T));break}case"freedraw":{let y=ue.generateElementShape(e,s),T=y?_o(n,y,ar):r.ownerDocument.createElementNS(Q,"g");w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),T.setAttribute("stroke","none");let b=r.ownerDocument.createElementNS(Q,"path");b.setAttribute("fill",e.strokeColor),b.setAttribute("d",Qs(e)),T.appendChild(b);let D=Io(e,E,[T],s.frameRendering,t);x(D||T,e);break}case"image":{let y=Math.round(e.width),T=Math.round(e.height),b=St(e)&&o[e.fileId];if(b){let D=`image-${b.id}`,S=r.querySelector(`#${D}`);if(!S){S=r.ownerDocument.createElementNS(Q,"symbol"),S.id=D;let _=r.ownerDocument.createElementNS(Q,"image");_.setAttribute("width","100%"),_.setAttribute("height","100%"),_.setAttribute("href",b.dataURL),S.appendChild(_),E.prepend(S)}let A=r.ownerDocument.createElementNS(Q,"use");if(A.setAttribute("href",`#${D}`),s.exportWithDarkMode&&b.mimeType!==B.svg&&A.setAttribute("filter",Js),A.setAttribute("width",`${y}`),A.setAttribute("height",`${T}`),A.setAttribute("opacity",`${w}`),e.scale[0]!==1||e.scale[1]!==1){let _=e.scale[0]!==1?-y:0,M=e.scale[1]!==1?-T:0;A.setAttribute("transform",`scale(${e.scale[0]}, ${e.scale[1]}) translate(${_} ${M})`)}let I=r.ownerDocument.createElementNS(Q,"g");if(I.appendChild(A),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),e.roundness){let _=r.ownerDocument.createElementNS(Q,"clipPath");_.id=`image-clipPath-${e.id}`;let M=r.ownerDocument.createElementNS(Q,"rect"),k=Zt(Math.min(e.width,e.height),e);M.setAttribute("width",`${e.width}`),M.setAttribute("height",`${e.height}`),M.setAttribute("rx",`${k}`),M.setAttribute("ry",`${k}`),_.appendChild(M),x(_,e),I.setAttributeNS(Q,"clip-path",`url(#${_.id})`)}let P=Io(e,E,[I],s.frameRendering,t);x(P||I,e)}break}case"frame":case"magicframe":{if(s.frameRendering.enabled&&s.frameRendering.outline){let y=document.createElementNS(Q,"rect");y.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),y.setAttribute("width",`${e.width}px`),y.setAttribute("height",`${e.height}px`),y.setAttribute("rx",xe.radius.toString()),y.setAttribute("ry",xe.radius.toString()),y.setAttribute("fill","none"),y.setAttribute("stroke",xe.strokeColor),y.setAttribute("stroke-width",xe.strokeWidth.toString()),x(y,e)}break}default:if($(e)){let y=r.ownerDocument.createElementNS(Q,"g");w!==1&&(y.setAttribute("stroke-opacity",`${w}`),y.setAttribute("fill-opacity",`${w}`)),y.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);let T=e.text.replace(/\r\n?/g,`
|
|
25
|
-
`).split(`
|
|
26
|
-
`),b=wr(e.fontSize,e.lineHeight),D=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,S=Oi(e.fontFamily,e.fontSize,b),A=si(e.text)?"rtl":"ltr",I=e.textAlign==="center"?"middle":e.textAlign==="right"||A==="rtl"?"end":"start";for(let _=0;_<T.length;_++){let M=r.ownerDocument.createElementNS(Q,"text");M.textContent=T[_],M.setAttribute("x",`${D}`),M.setAttribute("y",`${_*b+S}`),M.setAttribute("font-family",os(e)),M.setAttribute("font-size",`${e.fontSize}px`),M.setAttribute("fill",e.strokeColor),M.setAttribute("text-anchor",I),M.setAttribute("style","white-space: pre;"),M.setAttribute("direction",A),M.setAttribute("dominant-baseline","alphabetic"),y.appendChild(M)}let P=Io(e,E,[y],s.frameRendering,t);x(P||y,e)}else throw new Error(`Unimplemented type ${e.type}`)}},Mp=(e,t,n,r,o,i)=>{r&&(e.filter(a=>!rt(a)).forEach(a=>{if(!a.isDeleted){if($(a)&&a.containerId&&t.has(a.containerId))return;try{Ji(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i);let s=q(a,t);s&&Ji(s,t,n,r,o,s.x+i.offsetX,s.y+i.offsetY,i)}catch(s){console.error(s)}}}),e.filter(a=>rt(a)).forEach(a=>{if(!a.isDeleted)try{Ji(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i)}catch(s){console.error(s)}}))};g();g();g();var _r=(()=>{if(typeof self>"u")return!1;if("top"in self&&self!==top)try{}catch{return!1}else if("showOpenFilePicker"in self)return"showOpenFilePicker";return!1})(),kw=_r?import("./file-open-002ab408-MILJ6BM2.js"):import("./file-open-7c801643-BHFKUUBS.js");async function Dp(...e){return(await kw).default(...e)}var g2=_r?import("./directory-open-4ed118d0-57WBH3LL.js"):import("./directory-open-01563666-OLGZGYEQ.js");var Ow=_r?import("./file-save-745eba88-CGSHK46Y.js"):import("./file-save-3189631c-IHOU4DOS.js");async function Cp(...e){return(await Ow).default(...e)}var Lp=500,kp=e=>{let t=e.extensions?.reduce((r,o)=>(r.push(B[o]),r),[]),n=e.extensions?.reduce((r,o)=>o==="jpg"?r.concat(".jpg",".jpeg"):r.concat(`.${o}`),[]);return Dp({description:e.description,extensions:n,mimeTypes:t,multiple:e.multiple??!1,legacySetup:(r,o,i)=>{let a=uu(o,Lp),s=()=>{c(),document.addEventListener("keyup",a),document.addEventListener("pointerup",a),a()},c=()=>{if(i.files?.length){let d=e.multiple?[...i.files]:i.files[0];r(d)}};requestAnimationFrame(()=>{window.addEventListener("focus",s)});let l=window.setInterval(()=>{c()},Lp);return d=>{clearInterval(l),a.cancel(),window.removeEventListener("focus",s),document.removeEventListener("keyup",a),document.removeEventListener("pointerup",a),d&&(console.warn("Opening the file was canceled (legacy-fs)."),d(new Xi))}}})},ml=(e,t)=>Cp(e,{fileName:`${t.name}.${t.extension}`,description:t.description,extensions:[`.${t.extension}`]},t.fileHandle);var Rw=(e,t)=>{let n={};for(let r of e)!r.isDeleted&&"fileId"in r&&r.fileId&&t[r.fileId]&&(n[r.fileId]=t[r.fileId]);return n},Po=(e,t,n,r)=>{let o={type:Pe.excalidraw,version:es.excalidraw,source:Ja,elements:r==="local"?Qi(e):Np(e),appState:r==="local"?ii(t):iu(t),files:r==="local"?Rw(e,n):void 0};return JSON.stringify(o,null,2)},L2=async(e,t,n,r=t.name||ru)=>{let o=Po(e,t,n,"local"),i=new Blob([o],{type:B.excalidraw});return{fileHandle:await ml(i,{name:r,extension:"excalidraw",description:"Excalidraw file",fileHandle:Op(t.fileHandle)?null:t.fileHandle})}},k2=async(e,t)=>{let n=await kp({description:"Excalidraw files"});return Rp(await hl(n),e,t,n.handle)},Fp=e=>e?.type===Pe.excalidraw&&(!e.elements||Array.isArray(e.elements)&&(!e.appState||typeof e.appState=="object")),El=e=>typeof e=="object"&&e&&e.type===Pe.excalidrawLibrary&&(e.version===1||e.version===2),Fw=e=>{let t={type:Pe.excalidrawLibrary,version:es.excalidrawLibrary,source:Ja,libraryItems:e};return JSON.stringify(t,null,2)},O2=async e=>{let t=Fw(e);await ml(new Blob([t],{type:B.excalidrawlib}),{name:"library",extension:"excalidrawlib",description:"Excalidraw library file"})};g();var Nw=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r)},r.onerror=o=>{n(o)},r.src=e}),Bp=async({fileIds:e,files:t,imageCache:n})=>{let r=new Map,o=new Map;return await Promise.all(e.reduce((i,a)=>{let s=t[a];return s&&!r.has(a)?(r.set(a,!0),i.concat((async()=>{try{if(s.mimeType===B.binary)throw new Error("Only images can be added to ImageCache");let c=Nw(s.dataURL),l={image:c,mimeType:s.mimeType};n.set(a,l);let d=await c;n.set(a,{...l,image:d})}catch{o.set(a,!0)}})())):i},[])),{imageCache:n,updatedFiles:r,erroredFiles:o}},Gp=e=>e.filter(t=>St(t)),Bw=e=>e?.nodeName.toLowerCase()==="svg",G2=async e=>{let t=new DOMParser().parseFromString(e,B.svg),n=t.querySelector("svg");if(t.querySelector("parsererror")||!Bw(n))throw new Error("Invalid SVG");if(n.hasAttribute("xmlns")||n.setAttribute("xmlns",Q),!n.hasAttribute("width")||!n.hasAttribute("height")){let o=n.getAttribute("viewBox"),i=n.getAttribute("width")||"50",a=n.getAttribute("height")||"50";if(o){let s=o.match(/\d+ +\d+ +(\d+) +(\d+)/);s&&([,i,a]=s)}n.setAttribute("width",i),n.setAttribute("height",a)}return n.outerHTML};g();g();g();g();var zp=e=>{let{angle:t,width:n,height:r,x:o,y:i}=e,a=Pt(t),s=o+n/2,c=i+r/2,l=[s,c],d=[];return e.type==="diamond"?d=[de([s,i],a,l),de([o+n,c],a,l),de([s,i+r],a,l),de([o,c],a,l)]:d=[de([o,i],a,l),de([o+n,i],a,l),de([o+n,i+r],a,l),de([o,i+r],a,l)],{type:"polygon",data:d}},Y2=(e,t,n=10)=>{let[r,o,i,a,s,c]=G(e,t,!0);r-=n,i+=n,o-=n,a+=n;let l=Pt(e.angle),d=[s,c],u=de([r,o],l,d),f=de([i,o],l,d),p=de([r,a],l,d),m=de([i,a],l,d);return{type:"polygon",data:[u,f,m,p]}},W2=e=>{let{width:t,height:n,angle:r,x:o,y:i}=e;return{type:"ellipse",data:{center:[o+t/2,i+n/2],angle:r,halfWidth:t/2,halfHeight:n/2}}},Hp=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},X2=(e,t=[0,0],n,r)=>{let o=c=>de([c[0]+t[0],c[1]+t[1]],Pt(n),r),i=Hp(e),a=[],s=[0,0];for(let c of i)if(c.op==="move"&&(s=o(c.data)),c.op==="bcurveTo"){let l=o([c.data[0],c.data[1]]),d=o([c.data[2],c.data[3]]),u=o([c.data[4],c.data[5]]);a.push([s,l,d,u]),s=u}return{type:"polycurve",data:a}},Gw=e=>{let t=e[0],n=[];for(let r=1;r<e.length;r++){let o=e[r];n.push([t,o]),t=o}return n},Z2=(e,t,n=!1)=>{let r=Pt(e.angle),o=a=>de(Ss(a,[e.x,e.y]),r,t),i=Gw(e.points.map(a=>o(a)));return n?{type:"polygon",data:Er(i.flat())}:{type:"polyline",data:i}},K2=(e,t,n=[0,0],r,o)=>{let i=d=>de([d[0]+n[0],d[1]+n[1]],Pt(r),o);if(e.roundness===null)return{type:"polygon",data:Er(e.points.map(d=>i(d)))};let a=Hp(t),s=[],c=!1;for(let d of a)d.op==="move"?(c=!c,c&&s.push([d.data[0],d.data[1]])):d.op==="bcurveTo"?c&&(s.push([d.data[0],d.data[1]]),s.push([d.data[2],d.data[3]]),s.push([d.data[4],d.data[5]])):d.op==="lineTo"&&c&&s.push([d.data[0],d.data[1]]);return{type:"polygon",data:ur(s,10,5).map(d=>i(d))}};var zw=e=>{if(e.type==="arrow")return!1;let t=!un(e.backgroundColor)||lr(e)||rt(e)||$(e);return e.type==="line"?t&&Dt(e.points):e.type==="freedraw"?t&&Dt(e.points):t||ci(e)},Hw=({x:e,y:t,element:n,shape:r,threshold:o=10,frameNameBound:i=null})=>{let a=zw(n)?Pi([e,t],r)||lo([e,t],r,o):lo([e,t],r,o);return!a&&i&&(a=Pi([e,t],{type:"polygon",data:zp(i).data})),a},gl=(e,t,n,r,o=0)=>{let[i,a,s,c]=He(n,r);return i-=o,a-=o,s+=o,c+=o,zi([i,a],[e,t],[s,c])},oP=(e,t)=>!Hw(e)&&gl(e.x,e.y,e.element,t),iP=(e,t,n)=>n&&Pi([e,t],n);var xl=document.createElement("img");xl.src=`data:${B.svg}, ${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1971c2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>')}`;var wl=([e,t,n,r],o,i)=>{let a=Gf,s=a/i.zoom.value,c=a/i.zoom.value,l=a/i.zoom.value,d=(e+n)/2,u=(t+r)/2,f=(a-8)/(2*i.zoom.value),p=4/i.zoom.value,m=n+p-f,h=t-p-l+f,[E,x]=V(m+s/2,h+c/2,d,u,o);return[E-s/2,x-c/2,s,c]},Uw=(e,t,n,[r,o])=>{let i=4/n.zoom.value,[a,s,c,l]=G(e,t),[d,u,f,p]=wl([a,s,c,l],e.angle,n);return r>d-i&&r<d+i+f&&o>u-i&&o<u+p+i},pP=(e,t,n,[r,o],i)=>!e.link||n.selectedElementIds[e.id]?!1:!i&&n.viewModeEnabled&&gl(r,o,e,t)?!0:Uw(e,t,n,[r,o]);g();var gP=(e,t,n,r,o=!0)=>{e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),o&&e.stroke()},Up=(e,t)=>[e.width/t,e.height/t],Vp=({canvas:e,scale:t,normalizedWidth:n,normalizedHeight:r,theme:o,isExporting:i,viewBackgroundColor:a})=>{let s=e.getContext("2d");return s.setTransform(1,0,0,1,0,0),s.scale(t,t),i&&o===Re.DARK&&(s.filter=ni),typeof a=="string"?((a==="transparent"||a.length===5||a.length===9||/(hsla|rgba)\(/.test(a))&&s.clearRect(0,0,n,r),s.save(),s.fillStyle=a,s.fillRect(0,0,n,r),s.restore()):s.clearRect(0,0,n,r),s};var Vw=(e,t,n,r,o,i,a)=>{let c;(E=>(E.Bold="#cccccc",E.Regular="#e5e5e5"))(c||={});let l=-Math.round(o.value/t)*t+n%t,d=-Math.round(o.value/t)*t+r%t,u=Math.min(1/o.value,1),f=1/o.value,p=[u*3,f+(u+f)];e.save(),e.lineWidth=u;for(let m=l;m<l+i+t*2;m+=t){let h=Math.round(m-n)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:p),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(m,d-t),e.lineTo(m,d+a+t*2),e.stroke()}for(let m=d;m<d+a+t*2;m+=t){let h=Math.round(m-r)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:p),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(l-t,m),e.lineTo(l+i+t*2,m),e.stroke()}e.restore()},$p=(e,t,n,r)=>{t.translate(e.x+r.scrollX,e.y+r.scrollY),t.beginPath(),t.roundRect?t.roundRect(0,0,e.width,e.height,xe.radius/r.zoom.value):t.rect(0,0,e.width,e.height),t.clip(),t.translate(-(e.x+r.scrollX),-(e.y+r.scrollY))},Qt,Yp=(e,t,n,r)=>{if(e.link&&!n.selectedElementIds[e.id]){let[o,i,a,s]=G(e,r),[c,l,d,u]=wl([o,i,a,s],e.angle,n),f=c+d/2,p=l+u/2;if(t.save(),t.translate(n.scrollX+f,n.scrollY+p),t.rotate(e.angle),!Qt||Qt.zoom!==n.zoom.value){Qt=document.createElement("canvas"),Qt.zoom=n.zoom.value,Qt.width=d*window.devicePixelRatio*n.zoom.value,Qt.height=u*window.devicePixelRatio*n.zoom.value;let m=Qt.getContext("2d");m.scale(window.devicePixelRatio*n.zoom.value,window.devicePixelRatio*n.zoom.value),m.fillStyle="#fff",m.fillRect(0,0,d,u),m.drawImage(xl,0,0,d,u),m.restore(),t.drawImage(Qt,c-f,l-p,d,u)}else t.drawImage(Qt,c-f,l-p,d,u);t.restore()}},Wp=({canvas:e,rc:t,elementsMap:n,allElementsMap:r,visibleElements:o,scale:i,appState:a,renderConfig:s})=>{if(e===null)return;let{renderGrid:c=!0,isExporting:l}=s,[d,u]=Up(e,i),f=Vp({canvas:e,scale:i,normalizedWidth:d,normalizedHeight:u,theme:a.theme,isExporting:l,viewBackgroundColor:a.viewBackgroundColor});f.scale(a.zoom.value,a.zoom.value),c&&a.gridSize&&Vw(f,a.gridSize,a.scrollX,a.scrollY,a.zoom,d/a.zoom.value,u/a.zoom.value);let p=new Set;o.forEach(m=>{m.groupIds.length>0&&a.frameToHighlight&&a.selectedElementIds[m.id]&&(vn(m,a.frameToHighlight,n)||m.groupIds.find(h=>p.has(h)))&&m.groupIds.forEach(h=>p.add(h))}),o.filter(m=>!rt(m)).forEach(m=>{try{let h=m.frameId||a.frameToHighlight?.id;if($(m)&&m.containerId&&n.has(m.containerId))return;if(f.save(),h&&a.frameRendering.enabled&&a.frameRendering.clip){let x=ea(m,n,a);x&&ta(m,n,a)&&$p(x,f,s,a),yr(m,n,r,t,f,s,a)}else yr(m,n,r,t,f,s,a);let E=q(m,n);E&&yr(E,n,r,t,f,s,a),f.restore(),l||Yp(m,f,a,n)}catch(h){console.error(h)}}),o.filter(m=>rt(m)).forEach(m=>{try{let h=()=>{if(yr(m,n,r,t,f,s,a),rt(m)&&(l||di(m)&&s.embedsValidationStatus.get(m.id)!==!0)&&m.width&&m.height){let x=qi(m);yr(x,n,r,t,f,s,a)}l||Yp(m,f,a,n)};if((m.frameId||a.frameToHighlight?.id)&&a.frameRendering.enabled&&a.frameRendering.clip){f.save();let x=ea(m,n,a);x&&ta(m,n,a)&&$p(x,f,s,a),h(),f.restore()}else h()}catch(h){console.error(h)}})},$w=fu(e=>{Wp(e)},{trailing:!0}),Xp=(e,t)=>{if(t){$w(e);return}Wp(e)};var Yw="<!-- svg-source:excalidraw -->",Ww=(e,t)=>{if(e.width<=t)return e;let r=document.createElement("canvas").getContext("2d");r.font=se({fontFamily:e.fontFamily,fontSize:e.fontSize});let o=e.text;if(r.measureText(o).width>t)for(let a=o.length;a>0;a--){let s=`${o.slice(0,a)}...`;if(r.measureText(s).width<=t){o=s;break}}return ut(e,{text:o,width:t})},Xw=(e,t)=>{let n=[],r=0,o=0;for(let i of e){if(ee(i)){jr(i)?r++:o++;let a=Ot({x:i.x,y:i.y-xe.nameOffsetY,fontFamily:Ee.Assistant,fontSize:xe.nameFontSize,lineHeight:xe.nameLineHeight,strokeColor:t.exportWithDarkMode?xe.nameColorDarkTheme:xe.nameColorLightTheme,text:Jp(i,jr(i)?r:o)});a.y-=a.height,a=Ww(a,i.width),n.push(a)}n.push(i)}return n},Zp=(e,t)=>(t=t||nt().frameRendering,{enabled:e?!0:t.enabled,outline:e?!1:t.outline,name:e?!1:t.name,clip:e?!0:t.clip}),Kp=({elements:e,exportingFrame:t,frameRendering:n,exportWithDarkMode:r})=>{let o;return t?o=Qp(e,t):n.enabled&&n.name?o=Xw(e,{exportWithDarkMode:r}):o=e,o},jp=async(e,t,n,{exportBackground:r,exportPadding:o=Qa,viewBackgroundColor:i,exportingFrame:a},s=(c,l)=>{let d=document.createElement("canvas");return d.width=c*t.exportScale,d.height=l*t.exportScale,{canvas:d,scale:t.exportScale}})=>{let c=Zp(a??null,t.frameRendering??null),l=Kp({elements:e,exportingFrame:a,exportWithDarkMode:t.exportWithDarkMode,frameRendering:c});a&&(o=0);let[d,u,f,p]=yl(a?[a]:vl(l),o),{canvas:m,scale:h=1}=s(f,p),E=nt(),{imageCache:x}=await Bp({imageCache:new Map,fileIds:Gp(l).map(w=>w.fileId),files:n});return Xp({canvas:m,rc:It.canvas(m),elementsMap:$t(X(l)),allElementsMap:$t(X(Wn(e))),visibleElements:l,scale:h,appState:{...t,frameRendering:c,viewBackgroundColor:r?i:null,scrollX:-d+o,scrollY:-u+o,zoom:E.zoom,shouldCacheIgnoreZoom:!1,theme:t.exportWithDarkMode?Re.DARK:Re.LIGHT},renderConfig:{canvasBackgroundColor:i,imageCache:x,renderGrid:!1,isExporting:!0,embedsValidationStatus:new Map,elementsPendingErasure:new Set}}),m},qp=async(e,t,n,r)=>{let o=Zp(r?.exportingFrame??null,t.frameRendering??null),{exportPadding:i=Qa,exportWithDarkMode:a=!1,viewBackgroundColor:s,exportScale:c=1,exportEmbedScene:l}=t,{exportingFrame:d=null}=r||{},u=Kp({elements:e,exportingFrame:d,exportWithDarkMode:a,frameRendering:o});d&&(i=0);let f="";if(l)try{f=await(await import("./image-SI7BKULC.js")).encodeSvgMetadata({text:Po(e,t,n||{},"local")})}catch(P){console.error(P)}let[p,m,h,E]=yl(d?[d]:vl(u),i),x=document.createElementNS(Q,"svg");x.setAttribute("version","1.1"),x.setAttribute("xmlns",Q),x.setAttribute("viewBox",`0 0 ${h} ${E}`),x.setAttribute("width",`${h*c}`),x.setAttribute("height",`${E*c}`),a&&x.setAttribute("filter",ni);let w="https://excalidraw.com/";v.VITE_IS_EXCALIDRAW_NPM_PACKAGE&&(w=window.EXCALIDRAW_ASSET_PATH||`https://unpkg.com/${v.VITE_PKG_NAME}@${v.VITE_PKG_VERSION}`,w?.startsWith("/")&&(w=w.replace("/",`${window.location.origin}/`)),w=`${w}/dist/excalidraw-assets/`);let y=-p+i,T=-m+i,b=bl(e),D="",S=X(e);for(let P of b){let[_,M,k,Y]=G(P,S),O=(k-_)/2-(P.x-_),F=(Y-M)/2-(P.y-M);D+=`<clipPath id=${P.id}>
|
|
27
|
-
<rect transform="translate(${P.x+y} ${P.y+T}) rotate(${P.angle} ${O} ${F})"
|
|
28
|
-
width="${P.width}"
|
|
29
|
-
height="${P.height}"
|
|
30
|
-
>
|
|
31
|
-
</rect>
|
|
32
|
-
</clipPath>`}if(x.innerHTML=`
|
|
33
|
-
${Yw}
|
|
34
|
-
${f}
|
|
35
|
-
<defs>
|
|
36
|
-
<style class="style-fonts">
|
|
37
|
-
@font-face {
|
|
38
|
-
font-family: "Virgil";
|
|
39
|
-
src: url("${w}Virgil.woff2");
|
|
40
|
-
}
|
|
41
|
-
@font-face {
|
|
42
|
-
font-family: "Cascadia";
|
|
43
|
-
src: url("${w}Cascadia.woff2");
|
|
44
|
-
}
|
|
45
|
-
@font-face {
|
|
46
|
-
font-family: "Assistant";
|
|
47
|
-
src: url("${w}Assistant-Regular.woff2");
|
|
48
|
-
}
|
|
49
|
-
</style>
|
|
50
|
-
${D}
|
|
51
|
-
</defs>
|
|
52
|
-
`,t.exportBackground&&s){let P=x.ownerDocument.createElementNS(Q,"rect");P.setAttribute("x","0"),P.setAttribute("y","0"),P.setAttribute("width",`${h}`),P.setAttribute("height",`${E}`),P.setAttribute("fill",s),x.appendChild(P)}let A=It.svg(x),I=r?.renderEmbeddables??!1;return Mp(u,$t(X(u)),A,x,n||{},{offsetX:y,offsetY:T,isExporting:!0,exportWithDarkMode:a,renderEmbeddables:I,frameRendering:o,canvasBackgroundColor:s,embedsValidationStatus:I?new Map(u.filter(P=>ee(P)).map(P=>[P.id,!0])):new Map}),x},yl=(e,t)=>{let[n,r,o,i]=De(e),a=We(n,o)+t*2,s=We(r,i)+t*2;return[n,r,a,s]},WP=(e,t,n)=>{let[,,r,o]=yl(e,t).map(i=>Math.trunc(i*n));return[r,o]};g();var Zw={selection:!0,text:!0,rectangle:!0,diamond:!0,ellipse:!0,line:!0,image:!0,arrow:!0,freedraw:!0,eraser:!1,custom:!0,frame:!0,embeddable:!0,hand:!0,laser:!1,magicframe:!1},Kw=e=>Object.keys(Ee).includes(e)?Ee[e]:tt,em=e=>e?{...e,focus:e.focus||0}:null,Ir=(e,t)=>{let n={type:t.type||e.type,version:e.version||1,versionNonce:e.versionNonce??0,index:e.index??null,isDeleted:e.isDeleted??!1,id:e.id||dt(),fillStyle:e.fillStyle||ne.fillStyle,strokeWidth:e.strokeWidth||ne.strokeWidth,strokeStyle:e.strokeStyle??ne.strokeStyle,roughness:e.roughness??ne.roughness,opacity:e.opacity==null?ne.opacity:e.opacity,angle:e.angle||0,x:t.x??e.x??0,y:t.y??e.y??0,strokeColor:e.strokeColor||ne.strokeColor,backgroundColor:e.backgroundColor||ne.backgroundColor,width:e.width||0,height:e.height||0,seed:e.seed??1,groupIds:e.groupIds??[],frameId:e.frameId??null,roundness:e.roundness?e.roundness:e.strokeSharpness==="round"?{type:ui(e.type)?Fe.LEGACY:Fe.PROPORTIONAL_RADIUS}:null,boundElements:e.boundElementIds?e.boundElementIds.map(r=>({type:"arrow",id:r})):e.boundElements??[],updated:e.updated??Ht(),link:e.link?vr(e.link):null,locked:e.locked??!1};return("customData"in e||"customData"in t)&&(n.customData="customData"in t?t.customData:e.customData),{...n,...Tl(n),...t}},jw=e=>{switch(e.type){case"text":let t=e.fontSize,n=e.fontFamily;if("font"in e){let[i,a]=e.font.split(" ");t=parseFloat(i),n=Kw(a)}let r=typeof e.text=="string"&&e.text||"",o=e.lineHeight||(e.height?Pf(e):Ri(e.fontFamily));return e=Ir(e,{fontSize:t,fontFamily:n,text:r,textAlign:e.textAlign||ir,verticalAlign:e.verticalAlign||ei,containerId:e.containerId??null,originalText:e.originalText||r,autoResize:e.autoResize??!0,lineHeight:o}),!r&&!e.isDeleted&&(e={...e,originalText:r,isDeleted:!0},e=yo(e)),e;case"freedraw":return Ir(e,{points:e.points,lastCommittedPoint:null,simulatePressure:e.simulatePressure,pressures:e.pressures});case"image":return Ir(e,{status:e.status||"pending",fileId:e.fileId,scale:e.scale||[1,1]});case"line":case"draw":case"arrow":{let{startArrowhead:i=null,endArrowhead:a=e.type==="arrow"?"arrow":null}=e,s=e.x,c=e.y,l=!Array.isArray(e.points)||e.points.length<2?[[0,0],[e.width,e.height]]:e.points;return(l[0][0]!==0||l[0][1]!==0)&&({points:l,x:s,y:c}=K.getNormalizedPoints(e)),Ir(e,{type:e.type==="draw"?"line":e.type,startBinding:em(e.startBinding),endBinding:em(e.endBinding),lastCommittedPoint:null,startArrowhead:i,endArrowhead:a,points:l,x:s,y:c,...Gi(l)})}case"ellipse":case"rectangle":case"diamond":case"iframe":case"embeddable":return Ir(e,{});case"magicframe":case"frame":return Ir(e,{name:e.name??null})}return null},qw=(e,t)=>{if(e.boundElements){let n=e.boundElements.slice(),r=new Set;e.boundElements=n.reduce((o,i)=>{let a=t.get(i.id);if(a&&!r.has(i.id)){if(r.add(i.id),a.isDeleted)return o;o.push(i),$(a)&&!a.containerId&&(a.containerId=e.id)}return o},[])}},Jw=(e,t)=>{let n=e.containerId?t.get(e.containerId):null;if(!n){e.containerId=null;return}if(!e.isDeleted&&n.boundElements&&!n.boundElements.find(r=>r.id===e.id)){let r=(n.boundElements||(n.boundElements=[])).slice();r.push({type:"text",id:e.id}),n.boundElements=r}},Qw=(e,t)=>{e.frameId&&(t.get(e.frameId)||(e.frameId=null))},rm=(e,t,n)=>{let r=new Set,o=t?X(t):null,i=Wn((e||[]).reduce((s,c)=>{if(c.type!=="selection"&&!Do(c)){let l=jw(c);if(l){let d=o?.get(c.id);d&&d.version>l.version&&(l=yo(l,d.version)),r.has(l.id)&&(l={...l,id:dt()}),r.add(l.id),s.push(l)}}return s},[]));if(!n?.repairBindings)return i;let a=X(i);for(let s of i)s.frameId&&Qw(s,a),$(s)&&s.containerId?Jw(s,a):s.boundElements&&qw(s,a),n.refreshDimensions&&$(s)&&Object.assign(s,ll(s,Se(s,a),a));return i},e0=(e,t,n)=>{let r=t[e];return r!==void 0?r:n[e]},tm={isSidebarDocked:(e,t)=>["defaultSidebarDockedPreference",e.isSidebarDocked??e0("defaultSidebarDockedPreference",e,t)]},t0=(e,t)=>{e=e||{};let n=nt(),r={};for(let o of Object.keys(tm))if(o in e){let[i,a]=tm[o](e,n);r[i]=a}for(let[o,i]of Object.entries(n)){let a=e[o],s=t?t[o]:void 0;r[o]=a!==void 0?a:s!==void 0?s:i}return{...r,cursorButton:t?.cursorButton||"up",penDetected:t?.penDetected??(e.penMode?e.penDetected??!1:!1),activeTool:{...Xr(n,r.activeTool.type&&Zw[r.activeTool.type]?r.activeTool:{type:"selection"}),lastActiveTool:null,locked:r.activeTool.locked??!1},zoom:typeof e.zoom=="number"?{value:e.zoom}:e.zoom?.value?e.zoom:n.zoom,openSidebar:typeof e.openSidebar=="string"?{name:nu.name}:r.openSidebar}},Mo=(e,t,n,r)=>({elements:rm(e?.elements,n,r),appState:t0(e?.appState,t||null),files:e?.files||{}}),nm=e=>{let t=rm(Al(e.elements),null);return t.length?{...e,elements:t}:null},om=(e=[],t)=>{let n=[];for(let r of e)if(Array.isArray(r)){let o=nm({status:t,elements:r,id:dt(),created:Date.now()});o&&n.push(o)}else{let o=r,i=nm({...o,id:o.id||dt(),status:o.status||t,created:o.created||Date.now()});i&&n.push(i)}return n};g();g();var ft=32,te=12,Tn=256,am=50,Xn="NOT_SPREADSHEET",Pr="VALID_SPREADSHEET",Co=e=>{let t=/^([-+]?)[$€£¥₩]?([-+]?)([\d.,]+)[%]?$/.exec(e);return t?parseFloat(`${(t[1]||t[2])+t[3]}`.replace(/,/g,"")):null},Sl=(e,t)=>e.slice(1).every(n=>Co(n[t])!==null),im=e=>{let t=e[0].length;if(t>2)return{type:Xn,reason:"More than 2 columns"};if(t===1){if(!Sl(e,0))return{type:Xn,reason:"Value is not numeric"};let c=Co(e[0][0])===null,l=(c?e.slice(1):e).map(d=>Co(d[0]));return l.length<2?{type:Xn,reason:"Less than two rows"}:{type:Pr,spreadsheet:{title:c?e[0][0]:null,labels:null,values:l}}}let n=Sl(e,0),r=Sl(e,1);if(!n&&!r)return{type:Xn,reason:"Value is not numeric"};let[o,i]=r?[0,1]:[1,0],a=Co(e[0][i])===null,s=a?e.slice(1):e;return s.length<2?{type:Xn,reason:"Less than 2 rows"}:{type:Pr,spreadsheet:{title:a?e[0][i]:null,labels:s.map(c=>c[o]),values:s.map(c=>Co(c[i]))}}},n0=e=>{let t=[];for(let n=0;n<e[0].length;n++){let r=[];for(let o=0;o<e.length;o++)r.push(e[o][n]);t.push(r)}return t},sm=e=>{let t=e.trim().split(`
|
|
53
|
-
`).map(i=>i.trim().split(" "));if(t.length&&t[0].length!==2&&(t=e.trim().split(`
|
|
54
|
-
`).map(i=>i.trim().split(","))),t.length===0)return{type:Xn,reason:"No values"};let n=t[0].length;if(!t.every(i=>i.length===n))return{type:Xn,reason:"All rows don't have same number of columns"};let o=im(t);if(o.type!==Pr){let i=im(n0(t));if(i.type===Pr)return i}return o},na=Vd(Hd),Ze={fillStyle:"hachure",fontFamily:tt,fontSize:Tt,opacity:100,roughness:1,strokeColor:H.black,roundness:null,strokeStyle:"solid",strokeWidth:1,verticalAlign:zt.MIDDLE,locked:!1},lm=e=>{let t=(ft+te)*e.values.length+te,n=Tn+te*2;return{chartWidth:t,chartHeight:n}},r0=(e,t,n,r,o)=>e.labels?.map((i,a)=>Ot({groupIds:[r],backgroundColor:o,...Ze,text:i.length>8?`${i.slice(0,5)}...`:i,x:t+a*(ft+te)+te*2,y:n+te/2,width:ft,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))||[],o0=(e,t,n,r,o)=>{let i=Ot({groupIds:[r],backgroundColor:o,...Ze,x:t-te,y:n-te,text:"0",textAlign:"right"}),a=Ot({groupIds:[r],backgroundColor:o,...Ze,x:t-te,y:n-Tn-i.height/2,text:Math.max(...e.values).toLocaleString(),textAlign:"right"});return[i,a]},i0=(e,t,n,r,o)=>{let{chartWidth:i,chartHeight:a}=lm(e),s=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,width:i,points:[[0,0],[i,0]]}),c=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,height:a,points:[[0,0],[0,-a]]}),l=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n-Tn-te,startArrowhead:null,endArrowhead:null,strokeStyle:"dotted",width:i,opacity:am,points:[[0,0],[i,0]]});return[s,c,l]},cm=(e,t,n,r,o,i)=>{let{chartWidth:a,chartHeight:s}=lm(e),c=e.title?Ot({backgroundColor:o,groupIds:[r],...Ze,text:e.title,x:t+a/2,y:n-Tn-te*2-Tt,roundness:null,textAlign:"center"}):null,l=i?xo({backgroundColor:o,groupIds:[r],...Ze,type:"rectangle",x:t,y:n-s,width:a,height:s,strokeColor:H.black,fillStyle:"solid",opacity:6}):null;return[...l?[l]:[],...c?[c]:[],...r0(e,t,n,r,o),...o0(e,t,n,r,o),...i0(e,t,n,r,o)]},a0=(e,t,n)=>{let r=Math.max(...e.values),o=dt(),i=na[Math.floor(Math.random()*na.length)];return[...e.values.map((s,c)=>{let l=s/r*Tn;return xo({backgroundColor:i,groupIds:[o],...Ze,type:"rectangle",x:t+c*(ft+te)+te,y:n-l-te,width:ft,height:l})}),...cm(e,t,n,o,i,v.DEV)]},s0=(e,t,n)=>{let r=Math.max(...e.values),o=dt(),i=na[Math.floor(Math.random()*na.length)],a=0,s=[];for(let h of e.values){let E=a*(ft+te),x=-(h/r)*Tn;s.push([E,x]),a++}let c=Math.max(...s.map(h=>h[0])),l=Math.max(...s.map(h=>h[1])),d=Math.min(...s.map(h=>h[0])),u=Math.min(...s.map(h=>h[1])),f=Yn({backgroundColor:i,groupIds:[o],...Ze,type:"line",x:t+te+ft/2,y:n-te,startArrowhead:null,endArrowhead:null,height:l-u,width:c-d,strokeWidth:2,points:s}),p=e.values.map((h,E)=>{let x=E*(ft+te)+te/2,w=-(h/r)*Tn+te/2;return xo({backgroundColor:i,groupIds:[o],...Ze,fillStyle:"solid",strokeWidth:2,type:"ellipse",x:t+x+ft/2,y:n+w-te*2,width:te,height:te})}),m=e.values.map((h,E)=>{let x=E*(ft+te)+te/2,w=h/r*Tn+te/2+te;return Yn({backgroundColor:i,groupIds:[o],...Ze,type:"line",x:t+x+ft/2+te/2,y:n-w,startArrowhead:null,endArrowhead:null,height:w,strokeStyle:"dotted",opacity:am,points:[[0,0],[0,w]]})});return[...cm(e,t,n,o,i,v.DEV),f,...m,...p]},mM=(e,t,n,r)=>e==="line"?s0(t,n,r):a0(t,n,r);var AM="clipboard"in navigator&&"readText"in navigator.clipboard,l0="clipboard"in navigator&&"writeText"in navigator.clipboard,SM="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype,c0=e=>!!([Pe.excalidraw,Pe.excalidrawClipboard,Pe.excalidrawClipboardWithAPI].includes(e?.type)&&Array.isArray(e.elements)),_M=({types:e,files:t})=>{!e&&!t&&console.warn("createPasteEvent: no types or files provided");let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});if(e)for(let[r,o]of Object.entries(e))try{if(n.clipboardData?.setData(r,o),n.clipboardData?.getData(r)!==o)throw new Error(`Failed to set "${r}" as clipboardData item`)}catch(i){throw new Error(i.message)}if(t){let r=-1;for(let o of t){r++;try{if(n.clipboardData?.items.add(o),n.clipboardData?.files[r]!==o)throw new Error(`Failed to set file "${o.name}" as clipboardData item`)}catch(i){throw new Error(i.message)}}}return n},d0=({elements:e,files:t})=>{let n=X(e),r=new Set(e.filter(s=>ee(s))),o=!1,i=e.reduce((s,c)=>(St(c)&&(o=!0,t&&t[c.fileId]&&(s[c.fileId]=t[c.fileId])),s),{});o&&!t&&console.warn("copyToClipboard: attempting to file element(s) without providing associated `files` object.");let a={type:Pe.excalidrawClipboard,elements:e.map(s=>{if(Ce(s,n)&&!r.has(Ce(s,n))){let c=wo(s);return R(c,{frameId:null}),c}return s}),files:t?i:void 0};return JSON.stringify(a)},dm=async(e,t,n)=>{await _l(d0({elements:e,files:t}),n)},u0=e=>{let t=sm(e);return t.type===Pr?{spreadsheet:t.spreadsheet}:null};function um(e){let t=[];for(let n of e.childNodes)if(n.nodeType===3){let r=n.textContent?.trim();r&&t.push({type:"text",value:r})}else if(n instanceof HTMLImageElement){let r=n.getAttribute("src");r&&r.startsWith("http")&&t.push({type:"imageUrl",value:r})}else t=t.concat(um(n));return t}var f0=e=>{let t=e.clipboardData?.getData("text/html");if(!t)return null;try{let n=new DOMParser().parseFromString(t,"text/html"),r=um(n.body);if(r.length)return{type:"mixedContent",value:r}}catch(n){console.error(`error in parseHTMLFromPaste: ${n.message}`)}return null},IM=async()=>{let e={};try{if(navigator.clipboard?.readText)return{"text/plain":await navigator.clipboard?.readText()}}catch(n){if(navigator.clipboard?.read)console.warn(`navigator.clipboard.readText() failed (${n.message}). Failling back to navigator.clipboard.read()`);else throw n}let t;try{t=await navigator.clipboard?.read()}catch(n){if(n.name==="DataError")return console.warn(`navigator.clipboard.read() error, clipboard is probably empty: ${n.message}`),e;throw n}for(let n of t)for(let r of n.types)if(hu(Kd,r))try{e[r]=await(await n.getType(r)).text()}catch(o){console.warn(`Cannot retrieve ${r} from clipboardItem: ${o.message}`)}return Object.keys(e).length===0&&console.warn("No clipboard data found from clipboard.read()."),e},p0=async(e,t=!1)=>{try{let n=!t&&e&&f0(e);return n?n.value.every(o=>o.type==="text")?{type:"text",value:e.clipboardData?.getData("text/plain")||n.value.map(o=>o.value).join(`
|
|
55
|
-
`).trim()}:n:{type:"text",value:(e.clipboardData?.getData("text/plain")||"").trim()}}catch{return{type:"text",value:""}}},PM=async(e,t=!1)=>{let n=await p0(e,t);if(n.type==="mixedContent")return{mixedContent:n.value};try{let r=!t&&u0(n.value);if(r)return r}catch(r){console.error(r)}try{let r=JSON.parse(n.value),o=r.type===Pe.excalidrawClipboardWithAPI;if(c0(r))return{elements:r.elements,files:r.files,text:t?JSON.stringify(r.elements,null,2):void 0,programmaticAPI:o}}catch{}return{text:n.value}},fm=async e=>{try{await navigator.clipboard.write([new window.ClipboardItem({[B.png]:e})])}catch(t){if(li(e))await navigator.clipboard.write([new window.ClipboardItem({[B.png]:await e})]);else throw t}},_l=async(e,t)=>{if(l0)try{await navigator.clipboard.writeText(e||"");return}catch(n){console.error(n)}try{if(t){if(t.clipboardData?.setData("text/plain",e||""),t.clipboardData?.getData("text/plain")!==e)throw new Error("Failed to setData on clipboardEvent");return}}catch(n){console.error(n)}if(!m0(e))throw new Error("Error copying to clipboard.")},m0=e=>{e||(e=" ");let t=document.documentElement.getAttribute("dir")==="rtl",n=document.createElement("textarea");n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";let r=window.pageYOffset||document.documentElement.scrollTop;n.style.top=`${r}px`,n.style.fontSize="12pt",n.setAttribute("readonly",""),n.value=e,document.body.appendChild(n);let o=!1;try{n.select(),n.setSelectionRange(0,n.value.length),o=document.execCommand("copy")}catch(i){console.error(i)}return n.remove(),o};var h0=({elements:e,appState:t,files:n,maxWidthOrHeight:r,getDimensions:o,exportPadding:i,exportingFrame:a})=>{let{elements:s,appState:c}=Mo({elements:e,appState:t},null,null),{exportBackground:l,viewBackgroundColor:d}=c;return jp(s,{...c,offsetTop:0,offsetLeft:0,width:0,height:0},n||{},{exportBackground:l,exportPadding:i,viewBackgroundColor:d,exportingFrame:a},(u,f)=>{let p=document.createElement("canvas");if(r){typeof o=="function"&&console.warn("`getDimensions()` is ignored when `maxWidthOrHeight` is supplied.");let h=Math.max(u,f),E=r<h?r/h:t?.exportScale??1;return p.width=u*E,p.height=f*E,{canvas:p,scale:E}}let m=o?.(u,f)||{width:u,height:f};return p.width=m.width,p.height=m.height,{canvas:p,scale:m.scale??1}})},E0=async e=>{let{mimeType:t=B.png,quality:n}=e;t===B.png&&typeof n=="number"&&console.warn(`"quality" will be ignored for "${B.png}" mimeType`),t==="image/jpg"&&(t=B.jpg),t===B.jpg&&!e.appState?.exportBackground&&(console.warn(`Defaulting "exportBackground" to "true" for "${B.jpg}" mimeType`),e={...e,appState:{...e.appState,exportBackground:!0}});let r=await h0(e);return n=n||(/image\/jpe?g/.test(t)?.92:.8),new Promise((o,i)=>{r.toBlob(async a=>{if(!a)return i(new Error("couldn't export to blob"));a&&t===B.png&&e.appState?.exportEmbedScene&&(a=await pm({blob:a,metadata:Po(e.elements,e.appState,e.files||{},"local")})),o(a)},t,n)})},g0=async({elements:e,appState:t=nt(),files:n={},exportPadding:r,renderEmbeddables:o,exportingFrame:i})=>{let{elements:a,appState:s}=Mo({elements:e,appState:t},null,null),c={...s,exportPadding:r};return qp(a,c,n,{exportingFrame:i,renderEmbeddables:o})},BM=async e=>{if(e.type==="svg"){let t=await g0(e);await _l(t.outerHTML)}else if(e.type==="png")await fm(E0(e));else if(e.type==="json")await dm(e.elements,e.files);else throw new Error("Invalid export type")};g();var x0=e=>e.type==="diamond"?[[e.width/2,0],[e.width,e.height/2],[e.width/2,e.height],[0,e.height/2]]:[[0,0],[0+e.width,0],[0+e.width,e.height],[0,e.height]],w0=e=>J(e)||ge(e)?e.points:x0(e),mm=e=>{let t=e.reduce((n,[r,o])=>(n.minY=Math.min(n.minY,o),n.minX=Math.min(n.minX,r),n.maxX=Math.max(n.maxX,r),n.maxY=Math.max(n.maxY,o),n),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,cx:0,cy:0});return t.cx=(t.maxX+t.minX)/2,t.cy=(t.maxY+t.minY)/2,t},Em=e=>{let t=w0(e),{cx:n,cy:r}=mm(t),o=[n,r],i=t.map(d=>re([d[0],d[1]],o,e.angle)),{minX:a,minY:s,maxX:c,maxY:l}=mm(i);return[a+e.x,s+e.y,c+e.x,l+e.y]},hm=(e,t,n=!1)=>{let r=Em(e),o=t[0]<=r[0]&&t[2]>=r[2]&&t[1]<=r[1]&&t[3]>=r[3];return n?o?!0:r[0]<=t[0]&&r[2]>=t[2]&&r[1]<=t[1]&&r[3]>=t[3]:o},y0=(e,t)=>{let n=Em(e);return(go(n[0],t[0],t[2])||go(t[0],n[0],n[2]))&&(go(n[1],t[1],t[3])||go(t[1],n[1],n[3]))},gm=({elements:e,bounds:t,type:n,errorMargin:r=0})=>{ss(t)&&(t=He(t,X(e)));let o=[t[0]-r,t[1]-r,t[2]+r,t[3]+r],i=new Set;for(let a of e){if(i.has(a.id))continue;if(n==="overlap"?y0(a,o):n==="inside"?hm(a,o):hm(a,o,!0)){if(i.add(a.id),a.boundElements)for(let c of a.boundElements)i.add(c.id);$(a)&&a.containerId&&i.add(a.containerId),j(a)&&(a.startBinding&&i.add(a.startBinding.elementId),a.endBinding&&i.add(a.endBinding?.elementId))}}return e.filter(a=>i.has(a.id))};g();function xm(e){return[Math.min(e[0][0],e[1][0]),Math.min(e[0][1],e[1][1]),Math.max(e[0][0],e[1][0]),Math.max(e[0][1],e[1][1])]}function bm(e,t){return e[0]*t[1]-t[0]*e[1]}function b0(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}function ra(e,t){return[e[0]-t[0],e[1]-t[1]]}var v0=1e-6;function wm(e,t){let n=ra(e[1],e[0]),r=ra(t,e[0]),o=bm(n,r);return Math.abs(o)<v0}function Il(e,t){let n=ra(e[1],e[0]),r=ra(t,e[0]);return bm(n,r)<0}function ym(e,t){return wm(e,t[0])||wm(e,t[1])||(Il(e,t[0])?!Il(e,t[1]):Il(e,t[1]))}function vm(e,t){return b0(xm(e),xm(t))&&ym(e,t)&&ym(t,e)}var dD=(e,t,n)=>{let r=X(e);for(let o of t)if(o.frameId){let i=n.get(o.id),a=n.get(o.frameId);if(i){let s=r.get(i);s&&R(s,{frameId:a??o.frameId},!1)}}};function Tm(e,t,n){let r=il(t,n),o=il(e,n);return r.some(a=>o.some(s=>vm(a,s)))}var Am=(e,t,n)=>oa(Mi(e,t,n,!1)).filter(r=>!ee(r)&&!r.frameId||r.frameId===t.id),Sm=(e,t,n,r)=>Mi(e,t,r).some(o=>o.id===n.id);var _m=(e,t,n)=>{let[r,o,i,a]=G(t,n),[s,c,l,d]=De(e);return r<=s&&o<=c&&i>=l&&a>=d},vn=(e,t,n)=>_m([e],t,n)||Tm(e,t,n)||Sm([t],e,t,n),uD=(e,t,n)=>{let[r,o,i,a]=G(t,n);return zi([r,o],[e.x,e.y],[i,a])};var fD=e=>{let t=new Map;for(let n of e){let r=ee(n)?n.id:n.frameId;r&&!t.has(r)&&t.set(r,Lo(e,r))}return t},Lo=(e,t)=>{let n=[];for(let r of e.values())r.frameId===t&&n.push(r);return n},bl=e=>e.filter(t=>ee(t)),vl=e=>{let t=X(bl(e));return e.filter(n=>t.has(n.id)||!n.frameId||!t.has(n.frameId))},pD=(e,t,n,r)=>{let o=Lo(e,t.id),i=new Set(o),a=new Set([...Am(e,t,r),...o.filter(f=>Sm(e,f,t,r))]),s=o.filter(f=>!a.has(f)),c=new Set(Array.from(a).flatMap(f=>f.groupIds));for(let f of s)if(!Tm(f,t,r))f.groupIds.length===0&&i.delete(f);else if(f.groupIds.length>0)for(let p of f.groupIds)c.add(p);for(let f of s)if(f.groupIds.length>0){let p=!0;for(let m of f.groupIds)c.has(m)&&(p=!1);p&&i.delete(f)}let l=Array.from(a).filter(f=>f.groupIds.length===0);for(let f of l)i.add(f);let d=Array.from(a).filter(f=>f.groupIds.length>0),u=Qf(d,n);for(let[f,p]of Object.entries(u))if(p){let m=br(e,f);if(_m(m,t,r))for(let h of m)i.add(h)}return[...i].filter(f=>!($(f)&&f.containerId))},mD=(e,t,n)=>oa(e,Am(e,t,n)),Ce=(e,t)=>e.frameId&&t.get(e.frameId)||null,hD=(e,t)=>{let n=new Set,r=X(e);e=oa(e);for(let a of e)ee(a)&&a.id!==t.id&&n.add(a.id);let o=new Set,i=[];for(let a of e)if(!(ee(a)||a.frameId&&n.has(a.frameId)))if(a.groupIds.length){let s=a.groupIds.at(-1);if(!o.has(s)){o.add(s);let c=br(e,s);if(c.some(l=>vn(l,t,r)))for(let l of c)i.push(l)}}else vn(a,t,r)&&i.push(a);return i},T0=(e,t,n)=>{let r=X(e),o=new Map;for(let c of e.values())c.frameId===n.id&&o.set(c.id,!0);let i=new Set(t.map(c=>c.id)),a=[],s=new Set;for(let c of t)ee(c)&&c.id!==n.id&&s.add(c.id);for(let c of oa(e,t)){if(ee(c)||c.frameId&&s.has(c.frameId))continue;o.has(c.id)||a.push(c);let l=q(c,r);l&&!i.has(l.id)&&!o.has(l.id)&&a.push(l)}for(let c of a)R(c,{frameId:n.id},!1);return e},Im=(e,t)=>{let n=new Map,r=new Map;for(let o of e)if(o.frameId){n.set(o.id,o);let i=r.get(o.frameId)||[];i.push(o);let a=q(o,t);a&&(n.set(a.id,a),i.push(a)),r.set(o.frameId,i)}for(let[,o]of n)R(o,{frameId:null},!1)},A0=(e,t)=>{let n=Lo(e,t.id);return Im(n,X(e)),e},ED=(e,t,n,r)=>T0(A0(e,n),t,n).slice(),gD=(e,t,n)=>{let r=n.scene.getSelectedElements({selectedElementIds:t.selectedElementIds,elements:e}),o=new Set(r);if(t.editingGroupId)for(let s of r)s.groupIds.length===0?o.add(s):s.groupIds.flatMap(c=>br(e,c)).forEach(c=>o.add(c));let i=new Set,a=X(e);return o.forEach(s=>{s.frameId&&!ee(s)&&!ta(s,a,t)&&i.add(s)}),i.size>0&&Im(i,a),e},oa=(e,t)=>{let n=new Set,r=t||e;for(let a of r.values()){let s=a.groupIds[a.groupIds.length-1];s&&n.add(s)}let o=new Set;for(let a of n)br(e,a).some(s=>ee(s))&&o.add(a);let i=[];for(let a of r.values())o.has(a.groupIds[a.groupIds.length-1])||i.push(a);return i},ea=(e,t,n)=>{let r=$(e)&&Se(e,t)||e;return n.selectedElementIds[r.id]&&n.selectedElementsAreBeingDragged?n.frameToHighlight:Ce(r,t)},ta=(e,t,n)=>{let r=ea(e,t,n),o=$(e)&&Se(e,t)||e;if(r){if(!n.selectedElementIds[e.id]||!n.selectedElementsAreBeingDragged)return!0;if(o.groupIds.length===0)return vn(o,r,t);let i=new Set(o.groupIds.flatMap(a=>br(t,a)));if(n.editingGroupId&&n.selectedElementsAreBeingDragged){let a=new Set(lt(t,n));if(n.frameToHighlight!==null)return!0;a.forEach(c=>{i.delete(c)})}for(let a of i)if(ee(a))return!1;for(let a of i)if(vn(a,r,t))return!0}return!1},Jp=(e,t)=>e.name===null?jr(e)?`Frame ${t}`:`AI Frame $${t}`:e.name,Qp=(e,t)=>gm({elements:e,bounds:t,type:"overlap"}).filter(n=>!n.frameId||n.frameId===t.id);var S0=e=>{let t=new Set;return e.forEach(n=>{ee(n)&&t.add(n.id)}),e.filter(n=>!(n.frameId&&t.has(n.frameId)))},Mi=(e,t,n,r=!0)=>{let[o,i,a,s]=G(t,n),c=e.filter(l=>{let[d,u,f,p]=He(l,n),m=Ce(l,n);if(m){let[h,E,x,w]=He(m,n);d=Math.max(h,d),u=Math.max(E,u),f=Math.min(x,f),p=Math.min(w,p)}return l.locked===!1&&l.type!=="selection"&&!be(l)&&o<=d&&i<=u&&a>=f&&s>=p});return c=r?S0(c):c,c=c.filter(l=>{let d=Ce(l,n);return d?vn(l,d,n):!0}),c},SD=(e,t,n,r)=>{let o=new Set(t.map(i=>i.id));return e.filter(i=>{let a=Pm(i,n.width,n.height,n,r);return!o.has(i.id)&&a})},tx=function(){let e=null,t=null,n=null,r=(o,i)=>(n!=null&&o===e&&i.selectedElementIds===t||(n=o.some(a=>i.selectedElementIds[a.id]),e=o,t=i.selectedElementIds),n);return r.clearCache=()=>{e=null,t=null,n=null},r}(),nx=(e,t,n)=>{let r=Array.from(new Set(lt(e,t).map(o=>n(o))));return r.length===1?r[0]:null},lt=(e,t,n)=>{let r=[];for(let o of e.values()){if(t.selectedElementIds[o.id]){r.push(o);continue}if(n?.includeBoundTextElement&&be(o)&&t.selectedElementIds[o?.containerId]){r.push(o);continue}}if(n?.includeElementsInFrames){let o=[];return r.forEach(i=>{ee(i)&&Lo(e,i.id).forEach(a=>o.push(a)),o.push(i)}),o}return r},rx=(e,t)=>t.editingElement?[t.editingElement]:lt(e,t,{includeBoundTextElement:!0}),sl=(e,t)=>Vt(t.selectedElementIds,e)?t.selectedElementIds:e;var Mm=e=>{let t=new Map,n=[];for(let r of e)r.isDeleted||(n.push(r),t.set(r.id,r));return{elementsMap:t,elements:n}},_0=e=>{let t=["includeBoundTextElement","includeElementsInFrames"],n="";for(let r of t)n+=`${r}:${e[r]?"1":"0"}`;return n},Dm=e=>typeof e=="string",Pl=class e{static sceneMapByElement=new WeakMap;static sceneMapById=new Map;static mapElementToScene(t,n){Dm(t)?this.sceneMapById.set(t,n):(this.sceneMapByElement.set(t,n),this.sceneMapById.set(t.id,n))}static getScene(t){return Dm(t)?this.sceneMapById.get(t)||null:this.sceneMapByElement.get(t)||null}callbacks=new Set;nonDeletedElements=[];nonDeletedElementsMap=$t(new Map);elements=[];nonDeletedFramesLikes=[];frames=[];elementsMap=$t(new Map);selectedElementsCache={selectedElementIds:null,elements:null,cache:new Map};sceneNonce;getSceneNonce(){return this.sceneNonce}getNonDeletedElementsMap(){return this.nonDeletedElementsMap}getElementsIncludingDeleted(){return this.elements}getElementsMapIncludingDeleted(){return this.elementsMap}getNonDeletedElements(){return this.nonDeletedElements}getFramesIncludingDeleted(){return this.frames}getSelectedElements(t){let n=_0(t),r=t?.elements||this.nonDeletedElements;if(this.selectedElementsCache.elements===r&&this.selectedElementsCache.selectedElementIds===t.selectedElementIds){let i=this.selectedElementsCache.cache.get(n);if(i)return i}else t?.elements==null&&this.selectedElementsCache.cache.clear();let o=lt(r,{selectedElementIds:t.selectedElementIds},t);return t?.elements==null&&(this.selectedElementsCache.selectedElementIds=t.selectedElementIds,this.selectedElementsCache.elements=this.nonDeletedElements,this.selectedElementsCache.cache.set(n,o)),o}getNonDeletedFramesLikes(){return this.nonDeletedFramesLikes}getElement(t){return this.elementsMap.get(t)||null}getNonDeletedElement(t){let n=this.getElement(t);return n&&Cm(n)?n:null}mapElements(t){let n=!1,r=this.elements.map(o=>{let i=t(o);return i!==o&&(n=!0),i});return n&&this.replaceAllElements(r),n}replaceAllElements(t){let n=t instanceof Array?t:Array.from(t.values()),r=[];(v.DEV||v.MODE===et.TEST)&&dl(n.map(i=>i.index)),this.elements=Wn(n),this.elementsMap.clear(),this.elements.forEach(i=>{ee(i)&&r.push(i),this.elementsMap.set(i.id,i),e.mapElementToScene(i,this)});let o=Mm(this.elements);this.nonDeletedElements=o.elements,this.nonDeletedElementsMap=o.elementsMap,this.frames=r,this.nonDeletedFramesLikes=Mm(this.frames).elements,this.triggerUpdate()}triggerUpdate(){this.sceneNonce=kt();for(let t of Array.from(this.callbacks))t()}onUpdate(t){if(this.callbacks.has(t))throw new Error;return this.callbacks.add(t),()=>{if(!this.callbacks.has(t))throw new Error;this.callbacks.delete(t)}}destroy(){this.elements=[],this.nonDeletedElements=[],this.nonDeletedFramesLikes=[],this.frames=[],this.elementsMap.clear(),this.selectedElementsCache.selectedElementIds=null,this.selectedElementsCache.elements=null,this.selectedElementsCache.cache.clear(),e.sceneMapById.forEach((t,n)=>{t===this&&e.sceneMapById.delete(n)}),this.callbacks.clear()}insertElementAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),t,...this.elements.slice(n)];vo(r,X([t])),this.replaceAllElements(r)}insertElementsAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),...t,...this.elements.slice(n)];vo(r,X(t)),this.replaceAllElements(r)}insertElement=t=>{let n=t.frameId?this.getElementIndex(t.frameId):this.elements.length;this.insertElementAtIndex(t,n)};insertElements=t=>{let n=t[0].frameId?this.getElementIndex(t[0].frameId):this.elements.length;this.insertElementsAtIndex(t,n)};getElementIndex(t){return this.elements.findIndex(n=>n.id===t)}getContainerElement=t=>t&&t.containerId&&this.getElement(t.containerId)||null},xn=Pl;var R=(e,t,n=!0)=>{let r=!1,{points:o,fileId:i}=t;typeof o<"u"&&(t={...Gi(o),...t});for(let a in t){let s=t[a];if(typeof s<"u"){if(e[a]===s&&(typeof s!="object"||s===null||a==="groupIds"||a==="scale"))continue;if(a==="scale"){let c=e[a],l=s;if(c[0]===l[0]&&c[1]===l[1])continue}else if(a==="points"){let c=e[a],l=s;if(c.length===l.length){let d=!1,u=c.length;for(;--u;){let f=c[u],p=l[u];if(f[0]!==p[0]||f[1]!==p[1]){d=!0;break}}if(!d)continue}}e[a]=s,r=!0}}return r&&((typeof t.height<"u"||typeof t.width<"u"||typeof i<"u"||typeof o<"u")&&ue.delete(e),e.version++,e.versionNonce=kt(),e.updated=Ht(),n&&xn.getScene(e)?.triggerUpdate()),e},ut=(e,t,n=!1)=>{let r=!1;for(let o in t){let i=t[o];if(typeof i<"u"){if(e[o]===i&&(typeof i!="object"||i===null))continue;r=!0}}return!r&&!n?e:{...e,...t,updated:Ht(),version:e.version+1,versionNonce:kt()}},yo=(e,t)=>(e.version=(t??e.version)+1,e.versionNonce=kt(),e.updated=Ht(),e);var Do=e=>J(e)||ge(e)?e.points.length<2:e.width===0&&e.height===0,Pm=(e,t,n,r,o)=>{let[i,a,s,c]=He(e,o),l=Zr({clientX:r.offsetLeft,clientY:r.offsetTop},r),d=Zr({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return l.x<=s&&l.y<=c&&d.x>=i&&d.y>=a},ia=(e,t,n)=>{let r=Math.abs(t),o=Math.abs(n);if(e==="line"||e==="arrow"||e==="freedraw"){let i=Math.round(Math.atan(o/r)/vt)*vt;i===0?n=0:i===Math.PI/2?t=0:n=r*Math.tan(i)*Math.sign(n)||n}else e!=="selection"&&(n=r*Math.sign(n));return{width:t,height:n}},Vs=(e,t,n,r)=>{let o=n-e,i=r-t,a=Math.round(Math.atan(i/o)/vt)*vt;if(a===0)i=0;else if(a===Math.PI/2)o=0;else{let s=Math.tan(a),c=-1,l=t-s*e,d=-1/s,u=-1,f=r-d*n,p=(c*f-u*l)/(s*u-d*c),m=(l*d-f*s)/(s*u-d*c);o=p-e,i=m-t}return{width:o,height:i}};var Tl=e=>{let t={width:e.width,height:e.height,x:e.x,y:e.y};if(e.width<0){let n=Math.abs(e.width);t.width=n,t.x=e.x-n}if(e.height<0){let n=Math.abs(e.height);t.height=n,t.y=e.y-n}return t};g();var Lm={mouse:8,pen:16,touch:28},I0=16,Om={e:!0,s:!0,n:!0,w:!0};var km={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},Ml={e:!0,s:!0,n:!0,w:!0},en=(e,t,n,r,o,i,a)=>{let[s,c]=V(e+n/2,t+r/2,o,i,a);return[s-n/2,c-r/2,n,r]},aa=e=>!(e.viewport.isMobile||e.isTouchScreen&&($d||Yd)),Dl=e=>aa(e)?Om:{},sa=([e,t,n,r,o,i],a,s,c,l={},d=4)=>{let u=Lm[c],f=u/s.value,p=u/s.value,m=u/s.value,h=u/s.value,E=n-e,x=r-t,w=d/s.value,y=(u-Wr*2)/(2*s.value),T={nw:l.nw?void 0:en(e-w-m+y,t-w-h+y,f,p,o,i,a),ne:l.ne?void 0:en(n+w-y,t-w-h+y,f,p,o,i,a),sw:l.sw?void 0:en(e-w-m+y,r+w-y,f,p,o,i,a),se:l.se?void 0:en(n+w-y,r+w-y,f,p,o,i,a),rotation:l.rotation?void 0:en(e+E/2-f/2,t-w-h+y-I0/s.value,f,p,o,i,a)},b=5*Lm.mouse/s.value;return Math.abs(E)>b&&(l.n||(T.n=en(e+E/2-f/2,t-w-h+y,f,p,o,i,a)),l.s||(T.s=en(e+E/2-f/2,r+w-y,f,p,o,i,a))),Math.abs(x)>b&&(l.w||(T.w=en(e-w-m+y,t+x/2-p/2,f,p,o,i,a)),l.e||(T.e=en(n+w-y,t+x/2-p/2,f,p,o,i,a))),T},Cl=(e,t,n,r="mouse",o=Om)=>{if(e.locked)return{};if(e.type==="freedraw"||J(e)){if(e.points.length===2){let[,a]=e.points;a[0]===0||a[1]===0?o=Ml:a[0]>0&&a[1]<0?o=km:a[0]>0&&a[1]>0?o=Ml:a[0]<0&&a[1]>0?o=km:a[0]<0&&a[1]<0&&(o=Ml)}}else ee(e)&&(o={...o,rotation:!0});let i=J(e)?Wr+8:Wr;return sa(G(e,n,!0),e.angle,t,r,o,i)},nC=(e,t)=>{if(t.editingLinearElement)return!1;if(e.length>1)return!0;let n=e[0];return J(n)?n.points.length>2:!0};g();var kl=(e,t,n)=>t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3],Rm=(e,t,n,r,o,i,a,s)=>{if(!n.selectedElementIds[e.id])return!1;let{rotation:c,...l}=Cl(e,i,t,a,Dl(s));if(c&&kl(c,r,o))return"rotation";let d=Object.keys(l).filter(u=>{let f=l[u];return f?kl(f,r,o):!1});if(d.length>0)return d[0];if(aa(s)){let[u,f,p,m,h,E]=G(e,t);if(!(J(e)&&e.points.length<=2)){let x=ti/i.value,w=Fm([u-x,f-x],[p+x,m+x],[h,E],Pt(e.angle));for(let[y,T]of Object.entries(w))if(Vn([r,o],T,x))return y}}return!1},P0=(e,t,n,r,o,i,a,s)=>e.reduce((c,l)=>{if(c)return c;let d=Rm(l,a,t,n,r,o,i,s);return d?{element:l,transformHandleType:d}:null},null),M0=([e,t,n,r],o,i,a,s,c)=>{let l=sa([e,t,n,r,(e+n)/2,(t+r)/2],0,a,s,Dl(c)),d=Object.keys(l).find(u=>{let f=l[u];return f&&kl(f,o,i)});if(d)return d;if(aa(c)){let u=(e+n)/2,f=(t+r)/2,p=ti/a.value,m=Fm([e-p,t-p],[n+p,r+p],[u,f],Pt(0));for(let[h,E]of Object.entries(m))if(Vn([o,i],E,p))return h}return!1},Ll=["ns","nesw","ew","nwse"],D0=(e,t)=>{let n=Ll.indexOf(e);if(n>=0){let r=Math.round(t/(Math.PI/4));e=Ll[(n+r)%Ll.length]}return e},C0=e=>{let{element:t,transformHandleType:n}=e,r=t&&Math.sign(t.height)*Math.sign(t.width)===-1,o=null;switch(n){case"n":case"s":o="ns";break;case"w":case"e":o="ew";break;case"nw":case"se":r?o="nesw":o="nwse";break;case"ne":case"sw":r?o="nwse":o="nesw";break;case"rotation":return"grab"}return o&&t&&(o=D0(o,t.angle)),o?`${o}-resize`:""},Fm=([e,t],[n,r],o,i)=>{let a=de([e,t],i,o),s=de([n,t],i,o),c=de([e,r],i,o),l=de([n,r],i,o);return{n:[a,s],e:[s,l],s:[l,c],w:[c,a]}};g();var la=e=>e<0?e+2*Math.PI:e>=2*Math.PI?e-2*Math.PI:e,L0=(e,t,n,r,o,i,a,s,c,l,d)=>{if(n.length===1){let[u]=n;return t==="rotation"?(k0(u,r,s,c,o),Mt(u,r)):$(u)&&t?(R0(e,u,r,t,i,s,c),Mt(u,r)):t&&F0(e,a,u,r,t,i,s,c),!0}else if(n.length>1){if(t==="rotation")return B0(e,n,r,s,c,o,l,d),!0;if(t)return N0(e,n,r,t,i,a,s,c),!0}return!1},k0=(e,t,n,r,o)=>{let[i,a,s,c]=G(e,t),l=(i+s)/2,d=(a+c)/2,u;ee(e)?u=0:(u=5*Math.PI/2+Math.atan2(r-d,n-l),o&&(u+=vt/2,u-=u%vt),u=la(u));let f=Xt(e);if(R(e,{angle:u}),f){let p=xn.getScene(e)?.getElement(f);p&&!j(e)&&R(p,{angle:u})}},O0=(e,t,n,r)=>J(e)||ge(e)?{points:bn(0,t,bn(1,n,e.points,r),r)}:{},Ol=(e,t,n)=>{let r=e.width;if(be(e)){let a=Se(e,t);a&&(r=ct(a,e))}let i=e.fontSize*(n/r);return i<Qo?null:{size:i}},R0=(e,t,n,r,o,i,a)=>{let[s,c,l,d,u,f]=G(t,n),[p,m]=V(i,a,u,f,-t.angle),h=0,E=0;r!=="e"&&r!=="w"&&(r.includes("e")&&(h=(p-s)/(l-s)),r.includes("w")&&(h=(l-p)/(l-s)),r.includes("n")&&(E=(d-m)/(d-c)),r.includes("s")&&(E=(m-c)/(d-c)));let x=Math.max(h,E);if(x>0){let w=t.width*x,y=t.height*x,T=Ol(t,n,w);if(T===null)return;let b=[s,c],D=[l,d],S=[u,f],A=[s,c];if(["n","w","nw"].includes(r)&&(A=[D[0]-Math.abs(w),D[1]-Math.abs(y)]),r==="ne"){let O=[b[0],D[1]];A=[O[0],O[1]-Math.abs(y)]}if(r==="sw"){let O=[D[0],b[1]];A=[O[0]-Math.abs(w),O[1]]}["s","n"].includes(r)&&(A[0]=S[0]-w/2),["e","w"].includes(r)&&(A[1]=S[1]-y/2),o&&(A[0]=S[0]-Math.abs(w)/2,A[1]=S[1]-Math.abs(y)/2);let I=t.angle,P=re(A,[u,f],I),_=[A[0]+Math.abs(w)/2,A[1]+Math.abs(y)/2],M=re(_,[u,f],I);A=re(P,M,-I);let[k,Y]=A;R(t,{fontSize:T.size,width:w,height:y,x:k,y:Y})}if(r==="e"||r==="w"){let w=e.get(t.id),[y,T,b,D]=Kt(w,w.width,w.height,!0),S=[y,T],A=[b,D],I=xr(S,A),P=re([i,a],I,-w.angle),[_,,M]=Kt(t,t.width,t.height,!0),k=M-_,Y=A[0]-S[0],O=Fi(se({fontSize:t.fontSize,fontFamily:t.fontFamily}),t.lineHeight),F=Y/k;r.includes("e")&&(F=(P[0]-S[0])/k),r.includes("w")&&(F=(A[0]-P[0])/k);let L=t.width*F<O?O:t.width*F,C=yn(t.originalText,se(t),Math.abs(L)),z=Ct(C,se(t),t.lineHeight),U=z.height,[le,fe,oe,pt]=Kt(w,L,U,!0),Rt=oe-le,Ke=pt-fe,Le=[...S];["n","w","nw"].includes(r)&&(Le=[A[0]-Math.abs(Rt),S[1]]);let mt=w.angle,nn=re(Le,I,mt),we=[Le[0]+Math.abs(Rt)/2,Le[1]+Math.abs(Ke)/2],ke=re(we,I,mt);Le=re(nn,ke,-mt);let Ue={width:Math.abs(L),height:Math.abs(z.height),x:Le[0],y:Le[1],text:C,autoResize:!1};R(t,Ue)}},F0=(e,t,n,r,o,i,a,s)=>{let c=e.get(n.id),[l,d,u,f]=Kt(c,c.width,c.height,!0),p=[l,d],m=[u,f],h=xr(p,m),E=re([a,s],h,-c.angle),[x,w,y,T]=Kt(n,n.width,n.height,!0),b=y-x,D=T-w,S=m[0]-p[0],A=m[1]-p[1],I=S/b,P=A/D,_={},M=q(n,r);o.includes("e")&&(I=(E[0]-p[0])/b),o.includes("s")&&(P=(E[1]-p[1])/D),o.includes("w")&&(I=(m[0]-E[0])/b),o.includes("n")&&(P=(m[1]-E[1])/D);let k=c.width,Y=c.height,O=n.width*I,F=n.height*P;if(i&&(O=2*O-k,F=2*F-Y),t){let _e=Math.abs(O)/k,Zn=Math.abs(F)/Y;if(o.length===1&&(F*=_e,O*=Zn),o.length===2){let Sn=Math.max(_e,Zn);O=k*Sn*Math.sign(O),F=Y*Sn*Math.sign(F)}}if(M){let _e=e.get(M.id);if(_e&&(_={fontSize:_e.fontSize}),t){let Zn={...n,width:O,height:F},Sn=Ol(M,r,ct(Zn,M));if(Sn===null)return;_={fontSize:Sn.size}}else{let Zn=Lf(se(M),M.lineHeight),Sn=Mf(M.fontSize,M.lineHeight);O=Math.max(O,Zn),F=Math.max(F,Sn)}}let[L,C,z,U]=Kt(c,O,F,!0),le=z-L,fe=U-C,oe=[...p];if(["n","w","nw"].includes(o)&&(oe=[m[0]-Math.abs(le),m[1]-Math.abs(fe)]),o==="ne"){let _e=[p[0],m[1]];oe=[_e[0],_e[1]-Math.abs(fe)]}if(o==="sw"){let _e=[m[0],p[1]];oe=[_e[0]-Math.abs(le),_e[1]]}t&&(["s","n"].includes(o)&&(oe[0]=h[0]-le/2),["e","w"].includes(o)&&(oe[1]=h[1]-fe/2));let pt=O<0,Rt=F<0;pt&&(o.includes("e")&&(oe[0]-=Math.abs(le)),o.includes("w")&&(oe[0]+=Math.abs(le))),Rt&&(o.includes("s")&&(oe[1]-=Math.abs(fe)),o.includes("n")&&(oe[1]+=Math.abs(fe))),i&&(oe[0]=h[0]-Math.abs(le)/2,oe[1]=h[1]-Math.abs(fe)/2);let Ke=c.angle,Le=re(oe,h,Ke),mt=[oe[0]+Math.abs(le)/2,oe[1]+Math.abs(fe)/2],nn=re(mt,h,Ke);oe=re(Le,nn,-Ke);let we=[...oe],ke=c.x-L,Ue=c.y-C;we[0]+=ke,we[1]+=Ue;let An=we[0],Wm=we[1],zl,Hl;(J(n)||ge(n))&&(zl=bn(1,F,c.points,!0),Hl=bn(0,O,zl,!0));let rn={width:Math.abs(O),height:Math.abs(F),x:An,y:Wm,points:Hl};if("scale"in n&&"scale"in c&&R(n,{scale:[(Math.sign(z-c.x)||c.scale[0])*c.scale[0],(Math.sign(U-c.y)||c.scale[1])*c.scale[1]]}),j(n)&&M&&t){let _e=rn.width/n.width*M.fontSize;if(_e<Qo)return;_.fontSize=_e}rn.width!==0&&rn.height!==0&&Number.isFinite(rn.x)&&Number.isFinite(rn.y)&&(R(n,rn),Mt(n,r,{newSize:{width:rn.width,height:rn.height}}),M&&_!=null&&R(M,{fontSize:_.fontSize}),$n(n,r,o,t))},N0=(e,t,n,r,o,i,a,s)=>{let c=t.reduce((C,z)=>{let U=e.get(z.id);return U&&C.push({orig:U,latest:z}),C},[]),l=c.reduce((C,{orig:z})=>{if(!J(z))return C;let U=Xt(z);if(!U)return C;let le=e.get(U)??null;if(!be(le))return C;let fe=K.getBoundTextElementPosition(z,le,n);return[...C,{...le,...fe}]},[]),{minX:d,minY:u,maxX:f,maxY:p,midX:m,midY:h}=jf(c.map(({orig:C})=>C).concat(l)),E=f-d,x=p-u,w=r,y={ne:[d,p],se:[d,u],sw:[f,u],nw:[f,p],e:[d,u+x/2],w:[f,u+x/2],n:[d+E/2,p],s:[d+E/2,u]},[T,b]=o?[m,h]:y[w],D=o?2:1,S=Math.max(Math.abs(a-T)/E||0,Math.abs(s-b)/x||0)*D;if(S===0)return;let A=w.includes("e")||w.includes("w")?Math.abs(a-T)/E*D:1,I=w.includes("n")||w.includes("s")?Math.abs(s-b)/x*D:1,P=i||c.some(C=>C.latest.angle!==0||$(C.latest)||np(C.latest));P&&(A=S,I=S);let _={ne:[a<T,s>b],se:[a<T,s<b],sw:[a>T,s<b],nw:[a>T,s>b],e:[a<T,!1],w:[a>T,!1],n:[!1,s>b],s:[!1,s<b]},[M,k]=_[w].map(C=>C?-1:1),Y=M<0,O=k<0,F=[];for(let{orig:C,latest:z}of c){if($(C)&&be(C))continue;let U=C.width*A,le=C.height*I,fe=la(C.angle*M*k),oe=J(C)||ge(C),pt=C.x-T,Rt=C.y-b,Ke=Y&&!oe?U:0,Le=O&&!oe?le:0,mt=T+M*(pt*A+Ke),nn=b+k*(Rt*I+Le),we=O0(C,U*M,le*k,!1),ke={x:mt,y:nn,width:U,height:le,angle:fe,...we};if(ci(C)&&(ke.scale=[C.scale[0]*M,C.scale[1]*k]),$(C)){let An=Ol(C,n,U);if(!An)return;ke.fontSize=An.size}let Ue=e.get(Xt(C)??"");if(Ue)if(P){let An=Ue.fontSize*S;if(An<Qo)return;ke.boundTextFontSize=An}else ke.boundTextFontSize=Ue.fontSize;F.push({element:z,update:ke})}let L=F.map(({element:C})=>C);for(let{element:C,update:{boundTextFontSize:z,...U}}of F){let{width:le,height:fe,angle:oe}=U;R(C,U,!1),Mt(C,n,{simultaneouslyUpdated:L,newSize:{width:le,height:fe}});let pt=q(C,n);pt&&z&&(R(pt,{fontSize:z,angle:J(C)?void 0:oe},!1),$n(C,n,r,!0))}xn.getScene(F[0].element)?.triggerUpdate()},B0=(e,t,n,r,o,i,a,s)=>{let c=5*Math.PI/2+Math.atan2(o-s,r-a);i&&(c+=vt/2,c-=c%vt),t.filter(l=>!ee(l)).forEach(l=>{let[d,u,f,p]=G(l,n),m=(d+f)/2,h=(u+p)/2,E=e.get(l.id)?.angle??l.angle,[x,w]=V(m,h,a,s,c+E-l.angle);R(l,{x:l.x+(x-m),y:l.y+(w-h),angle:la(c+E)},!1),Mt(l,n,{simultaneouslyUpdated:t});let y=q(l,n);y&&!j(l)&&R(y,{x:y.x+(x-m),y:y.y+(w-h),angle:la(c+E)},!1)}),xn.getScene(t[0])?.triggerUpdate()},G0=(e,t,n,r,o)=>{let[i,a,s,c]=t.length===1?G(t[0],n):De(t),l=(i+s)/2,d=(a+c)/2,u=t.length===1?t[0].angle:0;switch([r,o]=V(r,o,l,d,-u),e){case"n":return V(r-(i+s)/2,o-a,0,0,u);case"s":return V(r-(i+s)/2,o-c,0,0,u);case"w":return V(r-i,o-(a+c)/2,0,0,u);case"e":return V(r-s,o-(a+c)/2,0,0,u);case"nw":return V(r-i,o-a,0,0,u);case"ne":return V(r-s,o-a,0,0,u);case"sw":return V(r-i,o-c,0,0,u);case"se":return V(r-s,o-c,0,0,u);default:return[0,0]}},z0=(e,t)=>{let[,[n,r]]=t.points;return e==="nw"&&(n<0||r<0)||e==="ne"&&n>=0||e==="sw"&&n<=0||e==="se"&&(n>0||r>0)?"end":"origin"};g();var H0=(e,t,n,r,o,i,a)=>{let s=new Set(t),c=t.filter(u=>ee(u)).map(u=>u.id);if(c.length>0)for(let u of o.getNonDeletedElements())u.frameId!==null&&c.includes(u.frameId)&&s.add(u);let l=De(Array.from(s).map(u=>e.originalElements.get(u.id)??u)),d=U0(l,n,i,a);s.forEach(u=>{if(Nm(e,u,d),!j(u)){let f=q(u,o.getNonDeletedElementsMap());f&&Nm(e,f,d)}Mt(u,o.getElementsMapIncludingDeleted(),{simultaneouslyUpdated:Array.from(s)})})},U0=(e,t,n,r)=>{let[o,i]=e,a=o+t.x+n.x,s=i+t.y+n.y;if(n.x===0||n.y===0){let[c,l]=fo(o+t.x,i+t.y,r);n.x===0&&(a=c),n.y===0&&(s=l)}return{x:a-o,y:s-i}},Nm=(e,t,n)=>{let r=e.originalElements.get(t.id)??t,o=r.x+n.x,i=r.y+n.y;R(t,{x:o,y:i})},V0=(e,t,n)=>{let[r,o]=De(e);return[t-r,n-o]},$0=(e,t,n,r,o,i,a,s,c,l,d,u,f=null)=>{c&&e.type!=="selection"&&(u?s=a/u:(Math.abs(i-r)>Math.abs(o-n)?{width:a,height:s}=ia(t,s,o<n?-a:a):{width:a,height:s}=ia(t,a,i<r?-s:s),s<0&&(s=-s)));let p=o<n?n-a:n,m=i<r?r-s:r;l&&(a+=a,s+=s,p=n-a/2,m=r-s/2);let h=null;if($(e)){s=e.height;let E=Fi(se({fontSize:e.fontSize,fontFamily:e.fontFamily}),e.lineHeight);a=Math.max(a,E),Math.abs(o-n)>Wd/d&&(h={autoResize:!1}),m=r,l&&(p=n-a/2)}a!==0&&s!==0&&R(e,{x:p+(f?.x??0),y:m+(f?.y??0),width:a,height:s,...h})};g();var Y0=(e,t)=>!!(!e.viewModeEnabled&&(e.activeTool.type!=="custom"&&(e.editingElement||e.activeTool.type!=="selection"&&e.activeTool.type!=="eraser"&&e.activeTool.type!=="hand"&&e.activeTool.type!=="laser")||lt(t,e).length));var $C=e=>e.reduce((t,n)=>t+n.version,0),YC=e=>{let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e[n].versionNonce;return t>>>0},WC=e=>{let t=5381;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)+t+r}return t>>>0},cf=e=>e.filter(t=>!t.isDeleted&&!Do(t)),Al=e=>e.filter(t=>!t.isDeleted),Cm=e=>!e.isDeleted,Bm=e=>Al(e).map(t=>as(t.type)?{...t,lastCommittedPoint:null}:t),Np=e=>Bm(e),Qi=e=>Bm(e);var zm=async e=>{let t;if(e.type===B.png)try{return await(await import("./image-SI7BKULC.js")).decodePngMetadata(e)}catch(n){throw n.message==="INVALID"?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new qt("Error: cannot restore image")}else if("text"in Blob?t=await e.text():t=await new Promise(n=>{let r=new FileReader;r.readAsText(e,"utf8"),r.onloadend=()=>{r.readyState===FileReader.DONE&&n(r.result)}}),e.type===B.svg)try{return await(await import("./image-SI7BKULC.js")).decodeSvgMetadata({svg:t})}catch(n){throw n.message==="INVALID"?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new qt("Error: cannot restore image")}return t};var W0=e=>e&&e.name.match(/\.(json|excalidraw|png|svg)$/)?.[1]||null,hL=e=>e==="png"||e==="svg",Op=e=>{let t=W0(e);return t==="png"||t==="svg"},da=e=>{let{type:t}=e||{};return!!t&&Object.values(qa).includes(t)},X0=async(e,t,n,r)=>{let o=await zm(e),i;try{try{i=JSON.parse(o)}catch(a){throw da(e)?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):a}if(Fp(i))return{type:B.excalidraw,data:Mo({elements:Qi(i.elements||[]),appState:{theme:t?.theme,fileHandle:r||e.handle||null,...ii(i.appState||{}),...t?Ds(i.elements||[],t):{}},files:i.files},t,n,{repairBindings:!0,refreshDimensions:!1})};if(El(i))return{type:B.excalidrawlib,data:i};throw new Error("Error: invalid file")}catch(a){throw a instanceof qt?a:new Error("Error: invalid file")}},Rp=async(e,t,n,r)=>{let o=await X0(e,t,n,r);if(o.type!==B.excalidraw)throw new Error("Error: invalid file");return o.data},Z0=(e,t="unpublished")=>{let n=JSON.parse(e);if(!El(n))throw new Error("Invalid library");let r=n.libraryItems||n.library;return om(r,t)},EL=async(e,t="unpublished")=>Z0(await zm(e),t),gL=async e=>new Promise(async(t,n)=>{try{li(e)&&(e=await e),e.toBlob(r=>{if(!r)return n(new Wi("Error: Canvas too big","CANVAS_POSSIBLY_TOO_BIG"));t(r)})}catch(r){n(r)}}),xL=async e=>{try{let t=await window.crypto.subtle.digest("SHA-1",await tn(e));return mu(new Uint8Array(t))}catch(t){return console.error(t),oi(40)}},wL=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let o=r.result;t(o)},r.onerror=o=>n(o),r.readAsDataURL(e)}),yL=(e,t="")=>{let n=e.indexOf(","),r=atob(e.slice(n+1)),o=e.slice(0,n).split(":")[1].split(";")[0],i=new ArrayBuffer(r.length),a=new Uint8Array(i);for(let s=0;s<r.length;s++)a[s]=r.charCodeAt(s);return new File([i],t,{type:o})},bL=async(e,t)=>{if(e.type===B.svg)return e;let[n,r]=await Promise.all([import("./pica-GFNRRI3K.js").then(i=>i.default),import("./image-blob-reduce.esm-2RRQLBYF.js").then(i=>i.default)]),o=r({pica:n({features:["js","wasm"]})});if(t.outputType){let{outputType:i}=t;o._create_blob=function(a){return this.pica.toBlob(a.out_canvas,i,.8).then(s=>(a.out_blob=s,a))}}if(!da(e))throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"});return new File([await o.toBlob(e,{max:t.maxWidthOrHeight})],e.name,{type:t.outputType||e.type})},vL=(e,t="")=>new File([new TextEncoder().encode(e)],t,{type:B.svg}),TL=async(e,t="")=>{let n;try{n=await fetch(e)}catch{throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"})}if(!n.ok)throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"});let r=await n.blob();if(r.type&&da(r)){let o=t||r.name||"";return new File([r],o,{type:r.type})}throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"})},AL=async e=>{let t=e.dataTransfer.files.item(0),n=await K0(e);return{file:t?await hl(t):null,fileHandle:n}},K0=async e=>{if(_r)try{return await e.dataTransfer.items[0].getAsFileSystemHandle()||null}catch(t){return console.warn(t.name,t.message),null}return null},Gm=e=>{let t=null,n=`${[...new Uint8Array(e).slice(0,8)].join(" ")} `,r={png:"137 80 78 71 13 10 26 10 ",jpg:"255 216 255 ",gif:"71 73 70 56 57 97 "};return n===r.png?t=B.png:n.startsWith(r.jpg)?t=B.jpg:n.startsWith(r.gif)&&(t=B.gif),t},ca=(e,t,n)=>new File([e],n||"",{type:t}),hl=async e=>{if(e.type){if(da(e)){let t=await tn(e),n=Gm(t);n&&n!==e.type&&(e=ca(t,n,e.name))}}else if(e?.name?.endsWith(".excalidrawlib"))e=ca(await tn(e),B.excalidrawlib,e.name);else if(e?.name?.endsWith(".excalidraw"))e=ca(await tn(e),B.excalidraw,e.name);else{let t=await tn(e),n=Gm(t);n&&(e=ca(t,n,e.name))}return e},tn=e=>"arrayBuffer"in e?e.arrayBuffer():new Promise((t,n)=>{let r=new FileReader;r.onload=o=>{if(!o.target?.result)return n(new Error("Couldn't convert blob to ArrayBuffer"));t(o.target.result)},r.readAsArrayBuffer(e)});var Rl=e=>new Promise((t,n)=>{let r=typeof e=="string"?new Blob([new TextEncoder().encode(e)]):new Blob([e instanceof Uint8Array?e:new Uint8Array(e)]),o=new FileReader;o.onload=i=>{if(!i.target||typeof i.target.result!="string")return n(new Error("couldn't convert to byte string"));t(i.target.result)},o.readAsBinaryString(r)}),Hm=e=>{let t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let r=0,o=e.length;r<o;r++)n[r]=e.charCodeAt(r);return t},Um=e=>new TextDecoder("utf-8").decode(Hm(e)),Vm=async(e,t=!1)=>t?window.btoa(e):window.btoa(await Rl(e)),$m=async(e,t=!1)=>t?window.atob(e):Um(window.atob(e)),Fl=async({text:e,compress:t})=>{let n;if(t!==!1)try{n=await Rl((0,ua.deflate)(e))}catch(r){console.error("encode: cannot deflate",r)}return{version:"1",encoding:"bstring",compressed:!!n,encoded:n||await Rl(e)}},Nl=async e=>{let t;switch(e.encoding){case"bstring":t=e.compressed?e.encoded:await Um(e.encoded);break;default:throw new Error(`decode: unknown encoding "${e.encoding}"`)}return e.compressed?(0,ua.inflate)(new Uint8Array(Hm(t)),{to:"string"}):t};var j0=async e=>{let n=(0,Bl.default)(new Uint8Array(await tn(e))).find(r=>r.name==="tEXt");return n?Gl.default.decode(n.data):null},pm=async({blob:e,metadata:t})=>{let n=(0,Bl.default)(new Uint8Array(await tn(e))),r=Gl.default.encode(B.excalidraw,JSON.stringify(await Fl({text:t,compress:!0})));return n.splice(-1,0,r),new Blob([(0,Ym.default)(n)],{type:B.png})},zL=async e=>{let t=await j0(e);if(t?.keyword===B.excalidraw)try{let n=JSON.parse(t.text);if(!("encoded"in n)){if("type"in n&&n.type===Pe.excalidraw)return t.text;throw new Error("FAILED")}return await Nl(n)}catch(n){throw console.error(n),new Error("FAILED")}throw new Error("INVALID")},HL=async({text:e})=>{let t=await Vm(JSON.stringify(await Fl({text:e})),!0),n="";return n+=`<!-- payload-type:${B.excalidraw} -->`,n+="<!-- payload-version:2 -->",n+="<!-- payload-start -->",n+=t,n+="<!-- payload-end -->",n},UL=async({svg:e})=>{if(e.includes(`payload-type:${B.excalidraw}`)){let t=e.match(/<!-- payload-start -->\s*(.+?)\s*<!-- payload-end -->/);if(!t)throw new Error("INVALID");let o=(e.match(/<!-- payload-version:(\d+) -->/)?.[1]||"1")!=="1";try{let i=await $m(t[1],o),a=JSON.parse(i);if(!("encoded"in a)){if("type"in a&&a.type===Pe.excalidraw)return i;throw new Error("FAILED")}return await Nl(a)}catch(i){throw console.error(i),new Error("FAILED")}}throw new Error("INVALID")};export{On as a,Wy as b,Xy as c,Ko as d,jo as e,H as f,Zy as g,Ky as h,jy as i,qy as j,Jy as k,Qy as l,qo as m,ob as n,ib as o,Yd as p,sb as q,lb as r,cb as s,Xd as t,Zd as u,db as v,ub as w,fb as x,pb as y,Jo as z,mb as A,hb as B,Eb as C,et as D,gb as E,Ee as F,Re as G,xe as H,Tt as I,tt as J,ir as K,ei as L,Wr as M,xb as N,wb as O,yb as P,bb as Q,vb as R,qa as S,B as T,Tb as U,Pe as V,Ja as W,Ab as X,Sb as Y,_b as Z,Ib as _,Pb as $,jd as aa,Mb as ba,Db as ca,ni as da,Cb as ea,Lb as fa,kb as ga,Ob as ha,Rb as ia,Fb as ja,Nb as ka,Bb as la,qd as ma,Qa as na,Gb as oa,zb as pa,Q as qa,es as ra,me as sa,zt as ta,ts as ua,Fe as va,Hb as wa,tg as xa,nu as ya,Ub as za,Vb as Aa,$b as Ba,ru as Ca,rs as Da,Yb as Ea,It as Fa,oi as Ga,s1 as Ha,l1 as Ia,c1 as Ja,og as Ka,d1 as La,u1 as Ma,os as Na,se as Oa,uu as Pa,fu as Qa,pu as Ra,f1 as Sa,p1 as Ta,We as Ua,Xr as Va,m1 as Wa,Zr as Xa,is as Ya,h1 as Za,sr as _a,E1 as $a,g1 as ab,x1 as bb,un as cb,w1 as db,y1 as eb,b1 as fb,v1 as gb,X as hb,T1 as ib,Ut as jb,A1 as kb,S1 as lb,_1 as mb,I1 as nb,li as ob,P1 as pb,Vt as qb,M1 as rb,Rn as sb,D1 as tb,hu as ub,C1 as vb,L1 as wb,k1 as xb,O1 as yb,R1 as zb,Eu as Ab,$t as Bb,F1 as Cb,St as Db,ci as Eb,di as Fb,Kr as Gb,rt as Hb,$ as Ib,jr as Jb,gu as Kb,ee as Lb,J as Mb,j as Nb,as as Ob,qr as Pb,cg as Qb,dg as Rb,ss as Sb,lr as Tb,be as Ub,ui as Vb,H1 as Wb,U1 as Xb,kt as Yb,dt as Zb,Xi as _b,qt as $b,wp as ac,vo as bc,Wn as cc,xn as dc,Gi as ec,V as fc,re as gc,Be as hc,Dt as ic,fo as jc,Zt as kc,u_ as lc,f_ as mc,p_ as nc,m_ as oc,jg as pc,qT as qc,qg as rc,Jg as sc,Cs as tc,Qg as uc,Pi as vc,fA as wc,Ge as xc,pA as yc,mA as zc,hA as Ac,ks as Bc,PA as Cc,Os as Dc,Rs as Ec,MA as Fc,DA as Gc,CA as Hc,Di as Ic,lx as Jc,uo as Kc,Mt as Lc,LA as Mc,kA as Nc,xf as Oc,K as Pc,mo as Qc,Af as Rc,Sf as Sc,tS as Tc,Xs as Uc,Ks as Vc,uS as Wc,$n as Xc,If as Yc,Ct as Zc,wr as _c,Mf as $c,js as ad,yn as bd,Lf as cd,Xt as dd,q as ed,Se as fd,fS as gd,pS as hd,mS as id,hS as jd,ES as kd,Ws as ld,ct as md,Eo as nd,gS as od,Ri as pd,Fi as qd,G as rd,De as sd,o_ as td,jf as ud,i_ as vd,nt as wd,au as xd,su as yd,Qx as zd,y_ as Ad,b_ as Bd,ew as Cd,v_ as Dd,Qf as Ed,T_ as Fd,tw as Gd,br as Hd,A_ as Id,S_ as Jd,__ as Kd,I_ as Ld,P_ as Md,np as Nd,vr as Od,k_ as Pd,ip as Qd,ap as Rd,sp as Sd,mw as Td,hw as Ud,Ew as Vd,up as Wd,xo as Xd,rI as Yd,oI as Zd,iI as _d,aI as $d,Ot as ae,ll as be,sI as ce,Yn as de,yw as ee,wo as fe,bw as ge,lI as he,Ki as ie,Sr as je,bp as ke,Ip as le,Pp as me,QI as ne,e2 as oe,_r as pe,kp as qe,ml as re,rm as se,t0 as te,Mo as ue,om as ve,j0 as we,pm as xe,zL as ye,HL as ze,UL as Ae,W0 as Be,hL as Ce,Op as De,da as Ee,X0 as Fe,Rp as Ge,Z0 as He,EL as Ie,gL as Je,xL as Ke,wL as Le,yL as Me,bL as Ne,vL as Oe,TL as Pe,AL as Qe,hl as Re,Po as Se,L2 as Te,k2 as Ue,Fw as Ve,O2 as We,Nw as Xe,Bp as Ye,Gp as Ze,G2 as _e,zp as $e,Y2 as af,W2 as bf,X2 as cf,Z2 as df,K2 as ef,zw as ff,Hw as gf,gl as hf,oP as if,iP as jf,wl as kf,Uw as lf,pP as mf,gP as nf,Up as of,Vp as pf,$w as qf,Xp as rf,jp as sf,qp as tf,WP as uf,mM as vf,l0 as wf,SM as xf,_M as yf,dm as zf,IM as Af,PM as Bf,fm as Cf,_l as Df,h0 as Ef,E0 as Ff,g0 as Gf,BM as Hf,hm as If,y0 as Jf,gm as Kf,dD as Lf,vn as Mf,uD as Nf,fD as Of,Lo as Pf,bl as Qf,pD as Rf,mD as Sf,Ce as Tf,hD as Uf,T0 as Vf,Im as Wf,A0 as Xf,ED as Yf,gD as Zf,ta as _f,Jp as $f,Qp as ag,Rx as bg,LS as cg,Qs as dg,ue as eg,R as fg,ut as gg,yo as hg,Do as ig,Pm as jg,Vs as kg,Tl as lg,Dl as mg,sa as ng,Cl as og,nC as pg,P0 as qg,M0 as rg,C0 as sg,L0 as tg,O0 as ug,Ol as vg,N0 as wg,G0 as xg,z0 as yg,H0 as zg,V0 as Ag,$0 as Bg,Y0 as Cg,$C as Dg,YC as Eg,WC as Fg,Al as Gg,Cm as Hg,S0 as Ig,Mi as Jg,SD as Kg,tx as Lg,nx as Mg,lt as Ng,rx as Og,sl as Pg,Kg as Qg,Ds as Rg,ex as Sg,tA as Tg};
|