@glodon-aiot/react-components 3.9.0-alpha.8 → 3.11.0-snapshot.1765331440

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.
Files changed (34) hide show
  1. package/dist/aiot-react-components.js +20191 -0
  2. package/dist/aiot-react-components.umd.cjs +183 -0
  3. package/dist/es/components/DocumentViewer/components/DownloadButton.mjs +18 -0
  4. package/dist/es/components/DocumentViewer/components/ErrorAlert.mjs +27 -0
  5. package/dist/es/components/DocumentViewer/components/FileRenderers.mjs +476 -0
  6. package/dist/es/components/DocumentViewer/components/MediaRenderers.mjs +41 -0
  7. package/dist/es/components/DocumentViewer/components/PdfRenderer.mjs +44 -0
  8. package/dist/es/components/DocumentViewer/components/ZipRenderer.mjs +147 -0
  9. package/dist/es/components/DocumentViewer/constants.mjs +21 -0
  10. package/dist/es/components/DocumentViewer/hooks/usePdfViewer.mjs +31 -0
  11. package/dist/es/components/DocumentViewer/hooks/useZipViewer.mjs +151 -0
  12. package/dist/es/components/DocumentViewer/index.mjs +255 -0
  13. package/dist/es/components/DocumentViewer/style.less.mjs +4 -0
  14. package/dist/es/components/DocumentViewer/utils.mjs +60 -0
  15. package/dist/es/index.mjs +36 -34
  16. package/dist/es/utils/file.mjs +17 -0
  17. package/dist/lib/index.js +10 -2
  18. package/dist/src/components/DocumentViewer/components/DownloadButton.d.ts +7 -0
  19. package/dist/src/components/DocumentViewer/components/ErrorAlert.d.ts +10 -0
  20. package/dist/src/components/DocumentViewer/components/FileRenderers.d.ts +23 -0
  21. package/dist/src/components/DocumentViewer/components/MediaRenderers.d.ts +9 -0
  22. package/dist/src/components/DocumentViewer/components/PdfRenderer.d.ts +10 -0
  23. package/dist/src/components/DocumentViewer/components/ZipRenderer.d.ts +22 -0
  24. package/dist/src/components/DocumentViewer/components/index.d.ts +9 -0
  25. package/dist/src/components/DocumentViewer/constants.d.ts +21 -0
  26. package/dist/src/components/DocumentViewer/hooks/index.d.ts +5 -0
  27. package/dist/src/components/DocumentViewer/hooks/usePdfViewer.d.ts +7 -0
  28. package/dist/src/components/DocumentViewer/hooks/useZipViewer.d.ts +21 -0
  29. package/dist/src/components/DocumentViewer/index.d.ts +9 -0
  30. package/dist/src/components/DocumentViewer/utils.d.ts +18 -0
  31. package/dist/src/index.d.ts +1 -0
  32. package/dist/src/utils/file.d.ts +16 -0
  33. package/dist/style.css +1 -0
  34. package/package.json +15 -11
package/dist/lib/index.js CHANGED
@@ -1,2 +1,10 @@
1
- (function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- "use strict";var Pe=Object.defineProperty,Re=Object.defineProperties;var Ge=Object.getOwnPropertyDescriptors;var vM=Object.getOwnPropertySymbols;var De=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable;var ue=(t,M,i)=>M in t?Pe(t,M,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[M]=i,Y=(t,M)=>{for(var i in M||(M={}))De.call(M,i)&&ue(t,i,M[i]);if(vM)for(var i of vM(M))ye.call(M,i)&&ue(t,i,M[i]);return t},MM=(t,M)=>Re(t,Ge(M));var dM=(t,M)=>{var i={};for(var n in t)De.call(t,n)&&M.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&vM)for(var n of vM(t))M.indexOf(n)<0&&ye.call(t,n)&&(i[n]=t[n]);return i};var Ie=(t,M,i)=>new Promise((n,z)=>{var s=N=>{try{g(i.next(N))}catch(c){z(c)}},j=N=>{try{g(i.throw(N))}catch(c){z(c)}},g=N=>N.done?n(N.value):Promise.resolve(N.value).then(s,j);g((i=i.apply(t,M)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),Ze=require("react-markdown"),Ve=require("remark-gfm"),He=require("rehype-raw"),Je=require("rehype-external-links"),Fe=require("remark-math"),$e=require("rehype-katex");require("katex/dist/katex.min.css");const BM=require("antd"),Xe=require("antd-mobile"),_e=require("react-device-detect"),Ke=require("react-syntax-highlighter"),UM=require("@ant-design/icons"),we=require("antd/es/tooltip"),qe=require("react-moveable"),Mt=require("deep-object-diff"),et=require("lodash/debounce"),PM=require("antd/es/button"),tt=require("antd/es/popconfirm"),nt=require("use-immer"),Ce=require("ahooks"),it=require("@xstate/react"),RM=require("lodash/size"),QM=require("xstate"),ot=require("lodash/first"),aM=require("@xstate/immer");const zt=t=>{const g=t,{primary:M=!1,size:i="medium",backgroundColor:n,label:z}=g,s=dM(g,["primary","size","backgroundColor","label"]),j=M?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",MM(Y({type:"button",className:["storybook-button",`storybook-button--${i}`,j].join(" "),style:{backgroundColor:n}},s),{children:z}))};const Nt=t=>e.jsx("video",Y({style:{maxWidth:"100%",width:560,height:315}},t)),ZM=Nt;function st(t){const M=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let i="";for(let n=0;n<M.length;n++)if(n%2===0){let z=M[n].replaceAll(/\\\[([\s\S]*?)\\\]/g,(s,j)=>`$$${j}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(s,j)=>`$${j}$`);i+=z}else i+=M[n];return i}function jt(t){var j;const M=(()=>{try{return new URL(t)}catch(g){return null}})();if(!M)return null;const n=((j=M.pathname.split(".").pop())==null?void 0:j.toLowerCase())||"",z=["jpg","jpeg","gif","png"],s=["mp4","wmv","avi","mov"];return z.includes(n)?"image":s.includes(n)?"video":null}const ct=t=>{const[M,i]=o.useState(!1),[n,z]=o.useState();return o.useEffect(()=>{t.src&&z(jt(t.src))},[t.src]),n=="video"?e.jsx(ZM,{src:t.src,controls:!0}):_e.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",Y({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{i(!0)}},t)),e.jsx(Xe.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:M,onClose:()=>{i(!1)}})]}):e.jsx(BM.Image,MM(Y({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:s=>{var j,g,N;(N=t.onClick)==null||N.call(t,MM(Y({},s),{target:(g=(j=s.target)==null?void 0:j.offsetParent)==null?void 0:g.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Ee=ct,X=UM.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),rt=i=>Ie(exports,[i],function*({target:t,value:M}){try{let n="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const z=document.querySelector(t);if(!z||!z.textContent)return console.warn("Element not found"),!1;M=z.textContent}return M&&(n=M),yield navigator.clipboard.writeText(n),!0}catch(n){return!1}});const fe=({text:t})=>{const[M,i]=o.useState();return o.useEffect(()=>{M&&setTimeout(()=>i(void 0),2e3)},[M]),M?e.jsx("div",{className:"copy-tip",children:M==="success"?e.jsx(UM.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(UM.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(BM.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{rt({value:t}).then(n=>{i(n?"success":"failed")})},children:e.jsx(X,{type:"icon-fuzhi"})})})},at=s=>{var j=s,{node:t,inline:M,className:i,children:n}=j,z=dM(j,["node","inline","className","children"]);const g=/language-(\w+)/.exec(i||""),N=g?g[1]:null;return!M&&N?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:N}),e.jsx(BM.Space,{className:"markdown-code-title-action",children:e.jsx(fe,{text:String(n)})})]}),e.jsx(Ke.Prism,MM(Y({className:"markdown-code-context",language:N},z),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(n).replace(/\n$/,"")}))]}):e.jsx("code",MM(Y({className:i},z),{children:n}))},me=at,gt=t=>{var z,s;const n=t,{node:M}=n,i=dM(n,["node"]);if(M.tagName==="a"&&((z=M.children)==null?void 0:z.length)>0){const j=((s=M.children[0])==null?void 0:s.value)||"";let g=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,N=j.match(g),c=j.replace(g,"").trim();if(!(N!=null&&N.length))return e.jsx("a",Y({},i));const u=N[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",MM(Y({href:/^www\./.test(u)?"//"+u:u,onClick:()=>window.open(t.href,t.target||"_blank")},i),{children:u})),c]})}return e.jsx("a",Y({},i))},he=gt,lt=s=>{var j=s,{showLatex:t=!0,components:M={},componentProps:i,children:n}=j,z=dM(j,["showLatex","components","componentProps","children"]);const g=o.useRef(null),N=Y({img(c){return e.jsx(Ee,Y(Y({},c),i==null?void 0:i.img))},code(c){return e.jsx(me,Y(Y({},c),i==null?void 0:i.code))},video(c){return e.jsx(ZM,Y(Y({},c),i==null?void 0:i.video))},a(c){return e.jsx(he,Y(Y({},c),i==null?void 0:i.a))}},M);return e.jsx("div",{ref:g,children:e.jsx(Ze,MM(Y({className:"markdown",rehypePlugins:[$e,He,[Je,{target:"_blank"}]],remarkPlugins:[Fe,[Ve,{singleTilde:!1}]]},z),{children:t?st(n):n,components:N}))})};const sM=t=>{var M;return e.jsx("button",MM(Y({},t),{className:`g-icon-btn disabled ${(M=t==null?void 0:t.className)!=null?M:""}`}))},ut=t=>{var I,T;const M=o.useRef(null),{className:i,headerClassName:n,style:z,visible:s,mode:j="normal",header:g,icons:N={collapseButton:e.jsx(X,{type:"icon-yincang"}),expandButton:e.jsx(X,{type:"icon-yincang"}),fullscreenButton:e.jsx(X,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(X,{type:"icon-suofang"})},extraButtons:c=[],onNormalize:u,onMinimize:L,onMaximize:f}=t,[A,a]=o.useState(j==="max"),[m,C]=o.useState(j==="min"),S=o.useRef(null),[h,U]=o.useState(j);o.useEffect(()=>{a(j==="max"),C(j==="min"),U(j)},[j]);const Q=()=>{a(!A),U(A?"normal":"max"),A?u&&u():f&&f()},B=()=>{C(!m),U(m?"normal":"min"),m?u&&u():L&&L()};o.useEffect(()=>{S.current&&A&&(S.current.style.transform="none")},[A]);const W=(T=t.fullScreenContainer)!=null?T:(I=M.current)==null?void 0:I.parentElement,l=W==null?void 0:W.getBoundingClientRect(),v={position:"fixed",top:l==null?void 0:l.y,left:l==null?void 0:l.x,width:m?0:l==null?void 0:l.width,height:l==null?void 0:l.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:Y({visibility:s!==!1?"visible":"hidden",position:A&&!m?"absolute":"unset"},A?v:null),ref:M,children:[!m&&e.jsxs("div",{className:`g-expandable-pannel ${A?"full":""} `,style:Y({},z),children:[g!=null?g:e.jsx("div",{className:`g-expandable-pannel-header ${n!=null?n:""}`,children:e.jsx(sM,{onClick:Q,children:A?N.exitFullscreenButton:N.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${m?"collapsed":"expaned"} ${n!=null?n:""}`,children:e.jsx(sM,{onClick:B,children:m?N.expandButton:N.collapseButton})})]})};const Dt={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Se=t=>{const{style:M,passes:i,scale:n,activePassId:z,passStyle:s,activePassStyle:j}=t;return e.jsx("svg",{className:"pass-map",style:M,children:i.map((g,N)=>{var u;const c=g.id===z?j:Dt;return e.jsx("g",{children:e.jsx("polygon",{points:(u=g.points)==null?void 0:u.map(L=>`${L.x*n} ${L.y*n}`).join(","),style:Y(Y(Y({},s),g.passStyle),c)})},N)})})};const yt=t=>{var L,f,A,a;const u=t,{children:M,open:i,point:n,key:z,style:s}=u,j=dM(u,["children","open","point","key","style"]),[g,N]=o.useState(i&&n.tooltipOpen!==void 0?n.tooltipOpen:void 0),c=o.useRef(null);return o.useEffect(()=>{var S,h;if(!n.tooltipRender||!c.current)return;const m=n.tooltipRender(n);if(typeof m=="string"||typeof m=="number"){c.current.innerText=m.toString();return}const C=(S=c.current)==null?void 0:S.firstChild;C?C.replaceWith(m):(h=c.current)==null||h.appendChild(m),console.log("tooltip inner text",n.id),console.log(new Date().valueOf())},[n.tooltipRender,g]),o.useEffect(()=>{N(n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0)},[n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0]),console.log("render PointTooltip",n.id),console.log(new Date().valueOf()),e.jsx(we,MM(Y({},j),{autoAdjustOverflow:!1,placement:"top",open:n.tooltipOpen!==void 0?n.tooltipOpen&&i:void 0,onOpenChange:m=>{var h,U;if(n.tooltipOpen||N(m),console.log("tooltip inner text",n.id),console.log(new Date().valueOf()),!n.tooltipRender||!c.current)return;const C=n.tooltipRender(n);if(typeof C=="string"||typeof C=="number"){c.current.innerText=C.toString();return}const S=(h=c.current)==null?void 0:h.firstChild;S?S.replaceWith(C):(U=c.current)==null||U.appendChild(C)},color:((L=n.tooltipStyle)==null?void 0:L.backgroundColor)||((f=n.tooltipStyle)==null?void 0:f.backgroundImage)||((a=(A=n.tooltipStyle)==null?void 0:A.background)==null?void 0:a.toString()),title:e.jsx("div",{ref:c},z),overlayInnerStyle:n.tooltipStyle,destroyTooltipOnHide:!0,style:Y({zIndex:9},s),motion:{forceRender:!0},children:M}))},It=yt,dt={attributes:!0,characterData:!0},Tt=t=>{const M=o.useRef(null),{point:i,open:n,id:z,x:s,y:j,r:g,active:N=!1,hidden:c=!1,onPointClick:u,getTooltipContainer:L}=t,[f,A]=o.useState(t.style),[a,m]=o.useState(!0);o.useEffect(()=>{const h=Mt.diff(f,t.style);Object.keys(h).length&&A(t.style)},[t.style]);const C=o.useMemo(()=>e.jsx("circle",{id:`mark-${z}`,className:"point point-active",cx:s,cy:j,r:g,ref:M,style:f,onClick:()=>u&&u(i)}),[s,j,g,f,N]),S=o.useMemo(()=>{const h=et(()=>{m(!0),console.log("show tooltip",i.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",i.id),console.log(new Date().valueOf()),m(!1),h()})},[]);return o.useEffect(()=>{if(!(!M.current||!i.tooltipRender))return S.observe(M.current,dt),()=>{M.current&&S.disconnect()}},[s,j,g]),c?e.jsx(e.Fragment,{}):i.tooltipRender&&a?e.jsx(It,{open:n,point:i,getPopupContainer:L,children:C}):C},de=Tt,Oe=t=>{var mM;const{width:M,height:i,points:n,scale:z,pointSize:s=6,direction:j,activePointId:g,style:N,lineStyle:c,pointStyle:u,directionStyle:L,marks:f,resizable:A,transform:a,keepRatio:m=!1,onPointClick:C,onTransform:S,onPointsChange:h,onCancelResize:U,actions:Q=!0,setIsSaved:B,isSaved:W=!1}=t,l=o.useRef(null),v=o.useRef(null),I=o.useRef(null),T=o.useRef(null),E=o.useRef(null),[_,oM]=o.useState(null),[D,d]=o.useState((a==null?void 0:a.scale)||[1,1]),[O,P]=o.useState((a==null?void 0:a.rotate)||0),[Z,gM]=o.useState((a==null?void 0:a.translate)||[0,0,0,0]),[jM,eM]=o.useState([]),[R,zM]=o.useState(),[rM,nM]=o.useState(),[iM,H]=o.useState(A),[TM,J]=o.useState([]),[K,LM]=o.useState(n),[AM,WM]=o.useState(!0),[F,uM]=o.useState(),[q,cM]=o.useState(),[xM,kM]=o.useState(typeof Q!="boolean"?Q:Q===!0?{}:null),DM=(s-s/4*.9)*2/z;o.useEffect(()=>{kM(typeof Q!="boolean"?Q:Q===!0?{}:null)},[Q]);const pM=(r,y)=>{if(!r.length)return;let b;return r.map(w=>{var tM;if(!b){b=w;return}const G=e.jsx("line",{x1:Number.isFinite(b.x)?b.x:0,y1:Number.isFinite(b.y)?b.y:0,x2:Number.isFinite(w.x)?w.x:0,y2:Number.isFinite(w.y)?w.y:0,style:MM(Y(Y({stroke:"#1F66E1BF"},c),b.lineStyle),{strokeWidth:Number((c==null?void 0:c.strokeWidth)||((tM=b.lineStyle)==null?void 0:tM.strokeWidth)||2)/y})},w.id);return b=w,G})},wM=new ResizeObserver(()=>{l.current&&(v.current&&(v.current.style.transform="none",v.current.style.width="auto",v.current.style.height="100%"),v.current&&(v.current.style.width="100%",v.current.style.height="100%"))});o.useEffect(()=>{var r;cM((r=I.current)==null?void 0:r.getBoundingClientRect())},[N==null?void 0:N.left,N==null?void 0:N.top,N==null?void 0:N.width,N==null?void 0:N.height,z]),o.useEffect(()=>{H(A)},[A]),o.useEffect(()=>{LM(n||[])},[n,TM]),o.useEffect(()=>{var r;(!((r=I.current)!=null&&r.style.transform)||I.current.style.transform==="none")&&(d((a==null?void 0:a.scale)||[1,1]),P((a==null?void 0:a.rotate)||0),gM((a==null?void 0:a.translate)||[0,0,0,0]))},[(mM=I.current)==null?void 0:mM.style.transform]),o.useEffect(()=>{!I.current||iM||(I.current.style.transform="none",d((a==null?void 0:a.scale)||[1,1]),P((a==null?void 0:a.rotate)||0),gM((a==null?void 0:a.translate)||[0,0,0,0]))},[iM]),o.useEffect(()=>{if(l.current)return wM.observe(l.current),()=>{l.current&&wM.unobserve(l.current)}},[l.current]),o.useEffect(()=>{!_||!a||(_.throttleDragRotate=a.rotate,_.throttleScale=a.scale,_.throttleDrag=a.translate)},[_,a]),o.useEffect(()=>{zM(K==null?void 0:K.find(y=>y.id===g));let r=K.map(y=>{var tM,hM,IM;const b=y.x,x=y.y,w=y.id===g,G=s*(w?1.2:1)/z;return e.jsx(de,{open:AM,id:y.id,point:y,getTooltipContainer:()=>E.current||document.body,x:b,y:x,r:u!=null&&u.r||(tM=y.pointStyle)!=null&&tM.r?Number((u==null?void 0:u.r)||((hM=y.pointStyle)==null?void 0:hM.r))/z:G/2,hidden:w,style:MM(Y(Y({stroke:"#1F66E1BF",fill:"#fff",cursor:C?"pointer":"unset"},u),y.pointStyle),{strokeWidth:Number(((IM=y.pointStyle)==null?void 0:IM.strokeWidth)||2)/z,r:void 0}),onPointClick:C},y.id)})||[];eM(r)},[K,g,z,AM]),o.useEffect(()=>{var w,G,tM;if(!R){nM(void 0);return}const r=R.x,y=R.y,b=R.id===g,x=s*(b?1.2:1)/z;nM(e.jsxs("g",{children:[j!==void 0&&e.jsx("circle",{id:`mark-${R.id}`,cx:r,cy:y,r:`${DM}`,strokeDasharray:DM*2*Math.PI,strokeDashoffset:DM*2*Math.PI/360*(360-60),style:Y({transform:`rotate(${j+240}deg)`,transformOrigin:`${r}px ${y}px`,strokeWidth:DM*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},L)}),e.jsx(de,{open:AM,point:R,getTooltipContainer:()=>E.current||document.body,x:r,y,r:(w=R.pointStyle)!=null&&w.r?Number((G=R.pointStyle)==null?void 0:G.r)/z:x/2,style:MM(Y(Y({stroke:"#1F66E1BF",fill:"#fff"},u),R.pointStyle),{strokeWidth:Number(((tM=R.pointStyle)==null?void 0:tM.strokeWidth)||2)/z,r:void 0}),onPointClick:C},R.id)]},R.id))},[R,j,z,AM]),o.useEffect(()=>{I.current&&setTimeout(()=>{var r,y;uM((r=I.current)==null?void 0:r.getBBox()),cM((y=I.current)==null?void 0:y.getBoundingClientRect())},100)},[a]),o.useEffect(()=>{var y,b;if(!I.current)return;uM((y=I.current)==null?void 0:y.getBBox()),cM((b=I.current)==null?void 0:b.getBoundingClientRect()),new ResizeObserver(()=>{var x,w;uM((x=I.current)==null?void 0:x.getBBox()),cM((w=I.current)==null?void 0:w.getBoundingClientRect())}).observe(I.current)},[I.current]),o.useEffect(()=>{W&&(NM(),B&&B(!1))},[W]);const NM=()=>{var x;const r=(x=T.current)==null?void 0:x.getBoundingClientRect();if(!r){h&&h(n),H(!1);return}const y=TM.map(w=>{const G=w.getBoundingClientRect();return{id:w.id.split("-")[1],x:(G.x+G.width/2-r.x)/z,y:(G.y+G.height/2-r.y)/z}}),b=n.map(w=>{const G=y==null?void 0:y.find(tM=>tM.id.toString()===w.id.toString());return G?Y(Y({},w),G):w});LM(b),h&&h(b.length?b.map((w,G)=>({id:w.id,x:w.x,y:w.y,order:G})):n),H(!1)},yM=r=>r.map(y=>{const{render:b,renderData:x}=y,w=y.x*z,G=y.y*z;return e.jsx(we,{className:"track-map-marker-tooltip",placement:"top",title:b(x,Y({},y)),open:!!x,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${y.id}`,cx:w,cy:G,r:s/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:x.label})})},y.id)}),CM=F?{x:F.x+F.width/2,y:F.y+F.height/2}:{x:0,y:0},EM=K.reduce((r,y)=>[Math.min(r[0],y.x),Math.max(r[1],y.x)],[0,0]),fM=K.reduce((r,y)=>[Math.min(r[0],y.y),Math.max(r[1],y.y)],[0,0]);return e.jsx(BM.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:l,children:[e.jsx("svg",{style:N,ref:T,viewBox:`0 0 ${M} ${i}`,children:e.jsxs("g",{ref:I,x:EM[0],y:fM[0],width:EM[1]-EM[0],height:fM[1]-fM[0],style:{transformOrigin:`${CM.x}px ${CM.y}px`,cursor:iM?"url('./images/icon-move.svg') 16 16, move":"unset",transform:a&&a.scale?`${a.translate?` translate(${a.translate[0]}px, ${a.translate[1]}px)`:""} rotate(${a.rotate}rad)${a.scale?` scale(${a.scale[0]}, ${a.scale[1]})`:""}`:"none"},children:[F&&e.jsx("rect",{x:F.x,y:F.y,width:F.width,height:F.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:pM((K==null?void 0:K.filter(r=>r.order>-1))||[],z)}),e.jsxs("g",{className:"track-points",children:[jM,rM]}),f&&e.jsx("g",{children:yM(f)})]})}),e.jsx("div",{className:"tooltip-container",ref:E,style:{position:"fixed",top:(q==null?void 0:q.y)||0,left:(q==null?void 0:q.x)||0,width:(q==null?void 0:q.width)||0,height:(q==null?void 0:q.height)||0}}),iM&&I.current&&T.current&&e.jsx(qe,{className:"path-moveable-control-box",ref:r=>{oM(r)},keepRatio:m,target:[I.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:r,beforeDelta:y,beforeDist:b,left:x,top:w,right:G,bottom:tM,delta:hM,dist:IM,transform:YM,clientX:VM,clientY:HM})=>{gM(IM),r.style.transform=YM},onDragStart:({inputEvent:r})=>{r.stopPropagation()},onDragEnd:()=>{var y;const r=(y=I.current)==null?void 0:y.getElementsByTagName("circle");J(r!=null&&r.length?[...r]:[]),S&&S({rotate:O,translate:Z,scale:D},r!=null&&r.length?[...r]:[],T.current||void 0)},renderDirections:m?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:r,scale:y,transform:b})=>{var w;d(y),r.style.transform=b;const x=(w=I.current)==null?void 0:w.getElementsByTagName("circle");J(x!=null&&x.length?[...x]:[]),S&&S({rotate:O,translate:Z,scale:y},x!=null&&x.length?[...x]:[],T.current||void 0)},onRotate:({target:r,dist:y,transform:b})=>{var w;P(y),r.style.transform=b;const x=(w=I.current)==null?void 0:w.getElementsByTagName("circle");J(x!=null&&x.length?[...x]:[]),S&&S({rotate:y,translate:Z,scale:D},x!=null&&x.length?[...x]:[],T.current||void 0)},onRenderEnd:()=>{var y,b,x;const r=(y=I.current)==null?void 0:y.getElementsByTagName("circle");S&&S({rotate:O,translate:Z,scale:D},r!=null&&r.length?[...r]:[],T.current||void 0),uM((b=I.current)==null?void 0:b.getBBox()),cM((x=I.current)==null?void 0:x.getBoundingClientRect())}})]})})},Te=t=>{const{name:M,type:i,style:n,className:z,children:s,onConfirm:j}=t,[g,N]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){N(null);return}if(t.confirm===!0){N({text:`确认${M}吗?`});return}N(t.confirm)},[t.confirm]),g?e.jsx(tt,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:g.text,trigger:"click",onConfirm:j,children:e.jsx(PM,{className:z,type:i,style:Y({},n),children:s||M})}):e.jsx(PM,{className:z,type:i,onClick:j,children:s||M})};let Ae;const At=o.forwardRef((t,M)=>{var FM,$M,XM,_M,KM,qM,Me,ee,te,ne,ie,oe,ze,Ne,se,je,ce,re,ae,ge,le;const{url:i,points:n,pointSize:z,direction:s,activePointId:j,lineStyle:g,pointStyle:N,directionStyle:c,onPointClick:u,passes:L,activePassId:f,passStyle:A,activePassStyle:a,marks:m,draggable:C=!1,offsetEdge:S=[50,50,50,50],zoomable:h=!1,zoomStep:U=.02,zoomMax:Q=2,zoomMin:B=0,onImageLoad:W,trackEditable:l,trackEditing:v,keepRatio:I,transform:T,onTrackEditingChange:E,onTransform:_,onPointsChange:oM,actions:D=!0}=t,d=o.useRef({}),O=o.useRef({}),[P,Z]=o.useState(0),[gM,jM]=o.useState(0),[eM,R]=o.useState(1),[zM,rM]=o.useState(0),[nM,iM]=o.useState(0),[H,TM]=o.useState(0),[J,K]=o.useState(0),[LM,AM]=o.useState(!1),[WM,F]=o.useState(!1),[uM,q]=o.useState(),[cM,xM]=o.useState({x:0,y:0}),[kM,DM,pM,wM]=S,[NM,yM]=o.useState(v),[CM,EM]=o.useState(1),[fM,mM]=o.useState(!1),[r,y]=o.useState(typeof D!="boolean"?D:D===!0?{}:null);o.useEffect(()=>{EM(Math.round(eM*100)/100)},[eM]),o.useEffect(()=>{yM(v)},[v]),o.useEffect(()=>{Ae=new ResizeObserver(b),Ae.observe(O.current);const k=p=>(p.preventDefault(),!1);return O.current.addEventListener("wheel",k),()=>{O.current.removeEventListener("wheel",k)}},[]);const b=()=>{if(!O.current)return;const k=O.current.clientWidth,p=O.current.clientHeight,V=d.current.naturalWidth,$=d.current.naturalHeight,lM=k/V,bM=p/$,SM=lM<bM?lM:bM,Qe=(k-V*SM)/2,Ue=(p-$*SM)/2,Be=V*SM,We=$*SM;Z(k),jM(p),R(SM),rM(Qe),iM(Ue),TM(Be),K(We),AM(!0),W&&W(d.current)},x=()=>{if(!h||eM>=Q)return;let k=eM*(1+U),p=U;k>=Q&&(k=Q,p=Q/eM-1),rM(zM-H*(p/2)),iM(nM-J*(p/2)),TM(H+H*p),K(J+J*p),R(k),YM()},w=()=>{if(!h||eM<=B)return;let k=eM*(1-U),p=U;k<=B&&(k=B,p=1-B/eM),rM(zM-H*(-p/2)),iM(nM-J*(-p/2)),TM(H+H*-p),K(J+J*-p),R(k),YM()};o.useImperativeHandle(M,()=>({zoomIn:x,zoomOut:w}));const G=k=>(k.nativeEvent.deltaY<0?x():w(),!1),tM=k=>{F(!0);const{pageX:p,pageY:V}=k;xM({x:p,y:V})},hM=k=>{if(!WM)return!1;const{pageX:p,pageY:V}=k,$=p-cM.x,lM=V-cM.y;xM({x:p,y:V}),rM(zM+$),iM(nM+lM),YM()},IM=()=>{F(!1)};window.onmouseup=()=>{F(!1)};const YM=()=>{zM<-H+wM&&rM(-H+wM),nM<-J+kM&&iM(-J+kM),zM>P-DM&&rM(P-DM),nM>gM-pM&&iM(gM-pM)},VM=()=>{yM(!NM),E&&E(!NM)},HM=k=>{const{touches:p}=k;if(console.log("onTouchStart"),console.log(p),F(!0),p.length<2){const{clientX:V,clientY:$}=p[0];xM({x:V,y:$})}else q(p)},pe=k=>{if(!WM||!k.touches)return!1;const{clientX:p,clientY:V}=k.touches[0];if(k.touches.length<2){const $=p-cM.x,lM=V-cM.y;xM({x:p,y:V}),rM(zM+$),iM(nM+lM),YM()}else{console.log("onTouchMove"),console.log(k.touches);const $=k.touches,lM=JM($[0],$[1]),bM=JM(uM[0],uM[1]);lM>bM?x():w()}},JM=(k,p)=>{const V=p.pageX-k.pageX,$=p.pageY-k.pageY;return Math.sqrt(V*V+$*$)};o.useEffect(()=>{y(typeof D!="boolean"?D:D===!0?{}:null)},[D]);const be=()=>{yM(!1),E&&E(!1)},ve=()=>{mM(!0)};return e.jsxs("div",{className:"image-map",ref:O,onMouseDown:C?tM:void 0,onMouseMove:C?hM:void 0,onMouseUp:C?IM:void 0,onWheel:C?G:void 0,onTouchStart:C?HM:void 0,onTouchMove:C?pe:void 0,onTouchEnd:C?IM:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:zM,top:nM,width:H,height:J},ref:d,onLoad:b,src:i,alt:""}),LM&&(L==null?void 0:L.length)&&e.jsx(Se,{style:{position:"absolute",left:zM,top:nM,width:H,height:J},passes:L,scale:eM,activePassId:f,passStyle:A,activePassStyle:a}),LM&&!!(n!=null&&n.length)&&e.jsx(Oe,{style:{position:"absolute",left:zM,top:nM,width:H,height:J,overflow:"visible"},width:d.current.naturalWidth,height:d.current.naturalHeight,transform:T,movable:NM,resizable:NM,points:n,scale:eM,pointSize:z,direction:s,activePointId:j,lineStyle:g,pointStyle:N,directionStyle:c,keepRatio:I,marks:m,onPointClick:u,onTransform:_,onPointsChange:k=>{oM&&oM(k),yM(!1),E&&E(!1)},onCancelResize:()=>{yM(!1),E&&E(!1)},actions:D,setIsSaved:mM,isSaved:fM}),l&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx(ke,{className:"zoom-controller",value:CM,min:B,max:Q,step:U,showText:!0,onChange:k=>{CM>k?w():x()}}),l&&(NM&&D?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Te,{children:typeof D!="boolean"&&((FM=D.cancelButton)==null?void 0:FM.children)||void 0,name:typeof D!="boolean"&&(($M=D.cancelButton)==null?void 0:$M.text)||"退出编辑",className:`editing-controller${NM?" active":""} ${typeof D!="boolean"&&((XM=D.cancelButton)==null?void 0:XM.className)||""}`,confirm:((_M=r==null?void 0:r.cancelButton)==null?void 0:_M.confirm)===!0?{text:"调整记录将不被保存"}:(KM=r==null?void 0:r.cancelButton)!=null&&KM.confirm?r.cancelButton.confirm:!1,style:typeof D!="boolean"&&((qM=D.cancelButton)==null?void 0:qM.style)||void 0,onConfirm:be}),e.jsx(Te,{type:"primary",children:typeof D!="boolean"&&((Me=D.okButton)==null?void 0:Me.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(UM.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof D!="boolean"&&((ee=D.okButton)!=null&&ee.confirm)?((te=D.okButton)==null?void 0:te.text)||"保存":"确定",className:`editing-controller${NM?" active":""} ${typeof D!="boolean"&&((ne=D.okButton)==null?void 0:ne.className)||""}`,confirm:((ie=r==null?void 0:r.okButton)==null?void 0:ie.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(oe=r==null?void 0:r.okButton)!=null&&oe.confirm?r.okButton.confirm:!1,style:typeof D!="boolean"&&((ze=D.okButton)==null?void 0:ze.style)||void 0,onConfirm:ve})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(PM,{title:NM?typeof D!="boolean"&&((Ne=D.editButton)==null?void 0:Ne.exitTitleText)||"退出编辑":typeof D!="boolean"&&((se=D.editButton)==null?void 0:se.titleText)||"调整轨迹",className:`moveable-controller-btn${NM?" active":""} ${typeof D!="boolean"&&((je=D.editButton)==null?void 0:je.className)||""}`,style:typeof D!="boolean"&&((ce=D.editButton)==null?void 0:ce.style)||void 0,onClick:VM,children:typeof D!="boolean"?(re=D.editButton)!=null&&re.children?(ae=D.editButton)==null?void 0:ae.children:(ge=D.editButton)!=null&&ge.text?e.jsx("span",{children:(le=D.editButton)==null?void 0:le.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(X,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),Yt=t=>{const{className:M,style:i,length:n=0,current:z=0,speed:s=2e3,play:j=!1,loop:g=!1,loading:N=!1,onChange:c}=t,[u,L]=o.useState(j),[f,A]=o.useState(z),[a,m]=o.useState(null);o.useEffect(()=>{A(z)},[z]),o.useEffect(()=>{L(j)},[j]),o.useEffect(()=>{u?C():f>=n-1&&(A(0),c(0))},[u]),o.useEffect(()=>{u&&(N?a&&(clearTimeout(a),m(null)):m(setTimeout(C,s)))},[N]);const C=()=>{A(U=>U<n-1?(c(U+1),U+1):g?(c(0),0):(h(),U))},S=()=>{f>=n-1&&A(0),L(!0)},h=()=>{L(!1),a&&(clearTimeout(a),m(null))};return e.jsxs("div",{className:M,style:i,children:[e.jsx(sM,{disabled:f<=0||N,onClick:()=>{c(0),A(0)},children:e.jsx(X,{type:"icon-diyige"})}),e.jsx(sM,{disabled:f<=0||N,onClick:()=>{c(f-1),A(f-1)},children:e.jsx(X,{type:"icon-qianyige"})}),u?e.jsx(sM,{onClick:h,children:e.jsx(X,{type:"icon-zanting"})}):e.jsx(sM,{disabled:f>=n-1||N,onClick:S,children:e.jsx(X,{type:"icon-bofang"})}),e.jsx(sM,{disabled:f>=n-1||N,onClick:()=>{c(f+1),A(f+1)},children:e.jsx(X,{type:"icon-xiayige"})}),e.jsx(sM,{disabled:f>=n-1||N,onClick:()=>{c(n-1),A(n-1)},children:e.jsx(X,{type:"icon-zuihouyige"})})]})};const Lt=16,xt=16,wt=-1,Ct=1,Et=-1,ft=1,mt=t=>{const M=t||window.event,i=t.target||t.srcElement;if(M.offsetX)return M.offsetX;{const n=i.getBoundingClientRect();return M.clientX-n.left}},ht=t=>{const M=t||window.event,i=t.target||t.srcElement;if(M.offsetY)return M.offsetY;{const n=i.getBoundingClientRect();return M.clientY-n.top}},St=t=>{const M=t.split("-");let i=M.length>1||M[0]==="left"||M[0]==="right"?M[0]:"center",n=M.length>1?M[1]:M[0]==="top"||M[0]==="bottom"?M[0]:"middle";return[i,n]},Ot=(t,M,i=[Lt,xt])=>{const n=()=>{switch(t[0]){case"left":return wt;case"right":return Ct;default:return 0}},z=()=>{switch(t[1]){case"top":return Et;case"bottom":return ft;default:return 0}},s=()=>{switch(t[0]){case"left":return-((M==null?void 0:M.width)||0)-i[0]-2;case"right":return 0;default:return-((M==null?void 0:M.width)||0)/2}},j=()=>{switch(t[1]){case"top":return-i[1]-2;case"bottom":return(M==null?void 0:M.height)||0;default:return((M==null?void 0:M.height)||0)/2}};return{x:i[0]*n()+s(),y:i[1]*z()+j()}},kt=t=>{var Q;const{children:M,defaultPosition:i,forElement:n,placement:z="right-bottom",curserPosition:s,className:j,style:g}=t,N=o.useRef(null),c=o.useRef(null),u=n||document.body,L=St(z),f=Ot(L,(Q=c.current)==null?void 0:Q.getBoundingClientRect(),s),[A,a]=o.useState(t.visible||!0),[m,C]=o.useState(i||{x:-2e3,y:-2e3});o.useEffect(()=>(u.addEventListener("mouseenter",S),u.addEventListener("mousemove",U),u.addEventListener("mouseleave",h),()=>{u.removeEventListener("mouseenter",S),u.removeEventListener("mousemove",U),u.removeEventListener("mouseleave",h)}),[u]),o.useEffect(()=>{a(t.visible||!0)},[t.visible]);const S=()=>{a(!0)},h=()=>{a(!1)},U=B=>{let W=mt(B)+f.x;const l=ht(B)+f.y;C({x:W,y:l})};return e.jsx("div",{className:`g-mouse-tip ${L.join(" ")}`,ref:N,style:{left:`${m.x}px`,top:`${m.y}px`,visibility:`${A?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${j}`,style:g,ref:c,children:M})})},ke=t=>{const{className:M,style:i,value:n,min:z,max:s,step:j=1,onChange:g,showText:N=!1}=t,[c,u]=o.useState(n!=null?n:0);return o.useEffect(()=>{u(n!=null?n:0)},[n]),e.jsxs("div",{className:M,style:i,children:[e.jsx(sM,{disabled:!!(s&&s<=c),onClick:()=>{g(c+j),u(c+j)},children:e.jsx(X,{type:"icon-fangda"})}),N&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(c*100),"%"]}),e.jsx(sM,{disabled:!!(z&&z>=c),onClick:()=>{g(c-j),u(c-j)},children:e.jsx(X,{type:"icon-suoxiao"})})]})};function pt(t,M){var i=document.getElementsByTagName("body")[0],n=document.createElement("script");n.setAttribute("type","text/javascript"),n.setAttribute("src",t),i.appendChild(n),n.onload=M}function bt(t){const[M,i]=o.useState(!1),[n,z]=o.useState(),[s,j]=o.useState(),[g,N]=o.useState(!1),[c,u]=o.useState(),[L,f]=o.useState([]),[A,a]=o.useState(0);function m(l){if(l.viewType!="3DView"){console.error("bimface view type is not 3DView");return}i(!0),c&&C(l.viewToken)}const C=l=>{if(!n){let v=c,I=new window.Glodon.Bimface.Application.WebApplication3DConfig;I.domElement=v,I.Toolbars=[];const T=new window.Glodon.Bimface.Application.WebApplication3D(I);T.addView(l),z(T);const E=T.getViewer();E.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){E.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},E.setCameraAnimation(!1),E.render(),E.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),E.render(),N(!0)}),E.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{a(_=>_+1)}),j(E)}};o.useEffect(()=>{g&&L.forEach(l=>{s.loadModel({viewToken:l})})},[g,L]),o.useEffect(()=>{},[A]),o.useEffect(()=>{if(!c||!L.length)return;const l=L.pop();l&&h(l),f([...L])},[c]);function S(l){console.log(l)}function h(l){a(0);const v=()=>{let I=new window.BimfaceSDKLoaderConfig;I.viewToken=l,window.BimfaceSDKLoader.load(I,m,S)};if(!window.BimfaceSDKLoaderConfig){pt("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",v);return}v()}const U=(l,v)=>{if(!s||!g||!c){console.error("BIMFace viewer is not ready.");return}const I=c.getElementsByTagName("canvas")[0],T=document.createElement("canvas");T.width=I.width,T.height=I.height;const E=T.getContext("2d");return E&&(E.fillStyle="#fff",E.fillRect(0,0,T.width,T.height),E.drawImage(I,0,0,I.width,I.height)),T.toDataURL(l,v)},Q=l=>{if(!s){console.error("viewer is not ready");return}if(A&&L.length+1===A||!L.length)s.getAllModels().map(T=>s._models[T.modelId]).forEach(T=>{let E=new window.Glodon.Web.Graphics.Color(l);T.overrideAllComponentsColor&&T.overrideAllComponentsColor(E)}),s.enableWireframe(!0),s.getLightManager().getAllFillLights().forEach(T=>T.enableLight(!0)),s.render();else{console.error("viewer is not render complete");return}},B=l=>{if(s)if(A&&L.length+1===A||!L.length)s.getAllModels().map(T=>s._models[T.modelId]).forEach(T=>{Object.keys(l).forEach(E=>{let _=[{categoryId:E}];T.getComponentsByConditions(_,function(oM){let D=new window.Glodon.Web.Graphics.Color(l[E]);T.overrideComponentsColorById&&T.overrideComponentsColorById(oM,D)},function(){window.alert("error")})})}),s.enableWireframe(!1),s.getLightManager().getAllFillLights().forEach(T=>T.enableLight(!1)),s.render();else{console.error("viewer is not render complete");return}};function W(l,v,I){const T=s.getModel();T==null||T.getBoundingBox(({currentBoundingBox:E})=>{const _=E.max.x-E.min.x,oM=E.max.y-E.min.y,D=_/oM;let d,O;D>1?(d=v.width,O=d/D):(O=v.height,d=O*D);const P=document.createElement("div");P.setAttribute("style",`width: ${d}px;height: ${O}px`),document.body.appendChild(P);const Z=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;Z.domElement=P;const gM=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(Z),jM=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;jM.viewer=s,jM.mapViewer=gM,jM.type="SetProfile",jM.height=l,jM.successCallback=eM=>{setTimeout(()=>{const R=new Image;R.src=P.getElementsByTagName("image")[0].getAttribute("href")||"",R.onload=()=>{I(R)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(jM)})}return{BimfaceViewer:M&&window.Glodon.Bimface.Viewer,BimfaceSection:M&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:M&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:M&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:s,viewerAdded:g,sDKLoaded:M,loadedModelCount:A,loadModels:l=>{if(l!=null&&l.length||console.error("viewTokens is Empty"),!s&&c){const v=l[0];h(v)}f(l)},setContainerDom:u,getSnapshot:U,setComponentsColorByCatgryId:B,setAllComponentsColor:Q,navigationMapByHeight:W}}function vt(t){const{url:M,onScaleChange:i,onLoad:n}=t,z=o.useRef(null),s=Ce.useSize(z),j=s==null?void 0:s.width,g=s==null?void 0:s.height,[N,c]=o.useState();return o.useEffect(()=>{j&&g&&N&&i(j/N.width,j,g)},[j,g,N]),e.jsx("img",{ref:z,src:M,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(z.current){n&&n(z.current);const{naturalWidth:u,naturalHeight:L}=z.current;c({width:u,height:L})}}})}function Ye(t){const{start:M,end:i}=t,{options:{lineColor:n,lineWidth:z}}=o.useContext(OM);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:M.x,y1:M.y,x2:i.x,y2:i.y,stroke:n!=null?n:"#FF5500",strokeWidth:z!=null?z:2})})}function Le(t){const{markRenderer:M,marker:i}=t,{point:{x:n,y:z}}=i;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:n,cy:z,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:n,y:z,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:M&&M(i)})})]})}function xe(t){const{points:M,editing:i,options:n,onClose:z}=t,[s,j]=o.useState(!1),{options:{polygon:g}}=o.useContext(OM);if(!i&&RM(M)<=2)return null;const N=ot(M),c=M.map(({x:h,y:U})=>`${h},${U}`).join(" "),u=N?`${c} ${N.x},${N.y}`:c,{showVertexIndex:L,vertexBgColor:f,vertexTextColor:A}=g!=null?g:{},a=L?10:5,m=i||L,{hideBorder:C,backgroundColor:S}=n!=null?n:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${u}`,fill:S!=null?S:"rgba(255, 66, 66, 0.15)"}),!C&&e.jsx("polyline",{points:i?c:u,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!C&&(M==null?void 0:M.map(({x:h,y:U},Q)=>{const B=Q===RM(M)-1;return e.jsx("g",{style:{zIndex:B?1:100,cursor:"pointer",pointerEvents:B?"none":"bounding-box"},onMouseEnter:W=>{B||j(!0)},onMouseLeave:W=>{j(!1)},onClick:W=>{W.stopPropagation()},onDoubleClick:W=>{W.stopPropagation(),z&&z(Q)},children:m&&(!B||!s)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:h,cy:U,r:a,fill:f!=null?f:"#FF5500"}),L&&e.jsx("text",{x:h,y:U,"text-anchor":"middle",fill:A!=null?A:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:Q+1})]})})}))]})}const Qt=QM.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:aM.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[aM.assign((t,{point:M})=>{t.markerPoint=M}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:aM.assign((t,M)=>{t.lineStart=M.point})},ADD_LINE_END:{target:"drawCompleted",actions:[aM.assign((t,M)=>{t.lineEnd=M.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:aM.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:aM.assign((t,{point:M})=>{var i;t.polygonPoints=(i=t.polygonPoints)!=null?i:[],t.polygonPoints.push(M)})},MOUSE_MOVE:{target:"drawingPolygon",actions:aM.assign((t,{point:M})=>{t.movingPoint=M})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function Ut(t){const{state:M,scale:i,width:n,height:z,drawOptions:s,lines:j,polygons:g,markers:N,markRenderer:c,onAddLine:u,onAddPolygon:L,onAddMarker:f,onStateChange:A}=t,[a,m]=o.useState([]),[C,S]=o.useState([]),[h,U]=o.useState([]),Q=o.useRef(null),{width:B,height:W}=Ce.useSize(Q)||{};function l({x:d,y:O}){return{x:d/i,y:O/i}}function v({x:d,y:O}){return{x:d*i,y:O*i}}const[I,T]=it.useMachine(Qt,{actions:{onAddMarker:QM.assign(({markerPoint:d})=>(f&&d&&f(l(d)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:QM.assign(d=>(d.lineStart&&d.lineEnd&&u&&u(l(d.lineStart),l(d.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:QM.assign(({polygonPoints:d})=>(L&&d&&d.length>2&&L(d.map(l)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var d;m((d=j==null?void 0:j.map(({id:O,start:P,end:Z})=>({id:O,start:v(P),end:v(Z)})))!=null?d:[])},[j]),o.useEffect(()=>{var d;U((d=N==null?void 0:N.map(O=>MM(Y({},O),{point:v(O.point)})))!=null?d:[])},[N]),o.useEffect(()=>{var d;S((d=g==null?void 0:g.map(({id:O,points:P,options:Z})=>({id:O,points:P.map(v),options:Z})))!=null?d:[])},[g,i]),o.useEffect(()=>{A&&I.matches("idle")&&A("viewOnly")},[I.value]),o.useEffect(()=>{if(A)switch(M){case"drawingLine":T("START_DRAW_LINE");break;case"drawingPolygon":T("START_DRAW_POLYGON");break;case"addingMarker":T("START_ADD_MARKER");break}},[M]);const{lineStart:E,lineEnd:_,polygonPoints:oM,movingPoint:D}=I.context;return e.jsx(OM.Provider,{value:{options:s!=null?s:{}},children:e.jsx("div",{ref:Q,className:"w-full h-full absolute left-0 top-0",style:{cursor:M==="viewOnly"?void 0:"crosshair",width:n,height:z},children:B&&W&&e.jsxs("svg",{viewBox:`0 0 ${B} ${W}`,version:"1.1",className:"absolute inset-0",onClick:d=>{if(!Q.current)return;const{top:O,left:P}=Q.current.getBoundingClientRect(),Z={x:d.clientX-P,y:d.clientY-O};I.matches("drawingLine")?T(E===void 0?{type:"ADD_LINE_START",point:Z}:{type:"ADD_LINE_END",point:Z}):I.matches("drawingPolygon")?T({type:"ADD_POLYGON_POINT",point:Z}):I.matches("addingMarker")&&T({type:"ADD_MARKER",point:Z})},onMouseMove:d=>{if(!Q.current)return;const{top:O,left:P}=Q.current.getBoundingClientRect(),Z={x:d.clientX-P,y:d.clientY-O};T({type:"MOUSE_MOVE",point:Z})},children:[a==null?void 0:a.map((d,O)=>e.jsx(Ye,Y({},d),O)),E&&D&&e.jsx(Ye,{start:E,end:D}),C==null?void 0:C.map(({points:d,options:O},P)=>e.jsx(xe,{editing:!1,points:d,options:O},P)),RM(oM)>0&&D&&e.jsx(xe,{editing:!0,points:[...oM,D],onClose:d=>{T({type:"DRAW_POLYGON_COMPLETE"})}}),h==null?void 0:h.map(d=>e.jsx(Le,{marker:d,markRenderer:c})),I.matches("addingMarker")&&D&&e.jsx(Le,{marker:{id:"addingMarker",point:D}})]})})})}function GM(t,M,i){if(i)return Math.abs(GM(t,i)-GM(M,i));for(var n=Math.atan2(M.y-t.y,M.x-t.x);n<0;)n+=2*Math.PI;return n}const OM=o.createContext({options:{}});OM.displayName="DrawableContext";function Bt(t){const s=t,{url:M}=s,i=dM(s,["url"]),[n,z]=nt.useImmer({scale:1,width:0,height:0});return M?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(vt,{url:M,onScaleChange:(j,g,N)=>{z(c=>{c.scale=j,c.width=g,c.height=N})}}),e.jsx(Ut,Y(Y({},i),n))]}):null}exports.Button=zt;exports.Copy=fe;exports.DrawableContext=OM;exports.DrawableImageMap=Bt;exports.ExpandablePannel=ut;exports.IconButton=sM;exports.Iconfont=X;exports.ImageMap=At;exports.Markdown=lt;exports.MarkdownATag=he;exports.MarkdownCode=me;exports.MarkdownImage=Ee;exports.MarkdownVideo=ZM;exports.MouseTip=kt;exports.PanoramaRecordPlayer=Yt;exports.PassMap=Se;exports.TrackMap=Oe;exports.Zoom=ke;exports.calAngle=GM;exports.useBimface=bt;
1
+ (function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible}.document-viewer-code>div{overflow:auto;max-height:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
+ "use strict";var tn=Object.defineProperty,nn=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var Ve=Object.getOwnPropertySymbols;var Lt=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable;var wt=(t,n,M)=>n in t?tn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:M}):t[n]=M,p=(t,n)=>{for(var M in n||(n={}))Lt.call(n,M)&&wt(t,M,n[M]);if(Ve)for(var M of Ve(n))mt.call(n,M)&&wt(t,M,n[M]);return t},Me=(t,n)=>nn(t,Mn(n));var we=(t,n)=>{var M={};for(var s in t)Lt.call(t,s)&&n.indexOf(s)<0&&(M[s]=t[s]);if(t!=null&&Ve)for(var s of Ve(t))n.indexOf(s)<0&&mt.call(t,s)&&(M[s]=t[s]);return M};var Le=(t,n,M)=>new Promise((s,r)=>{var i=c=>{try{l(M.next(c))}catch(z){r(z)}},a=c=>{try{l(M.throw(c))}catch(z){r(z)}},l=c=>c.done?s(c.value):Promise.resolve(c.value).then(i,a);l((M=M.apply(t,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),sn=require("react-markdown"),on=require("remark-gfm"),rn=require("rehype-raw"),cn=require("rehype-external-links"),an=require("remark-math"),ln=require("rehype-katex");require("katex/dist/katex.min.css");const R=require("antd"),zn=require("antd-mobile"),jn=require("react-device-detect"),vt=require("react-syntax-highlighter"),Ce=require("@ant-design/icons"),ce=require("@zip.js/zip.js"),bt=require("antd/es/tooltip"),Nn=require("react-moveable"),un=require("deep-object-diff"),gn=require("lodash/debounce"),Je=require("antd/es/button"),dn=require("antd/es/popconfirm"),yn=require("use-immer"),kt=require("ahooks"),Dn=require("@xstate/react"),_e=require("lodash/size"),He=require("xstate"),In=require("lodash/first"),ge=require("@xstate/immer");const xn=t=>{const l=t,{primary:n=!1,size:M="medium",backgroundColor:s,label:r}=l,i=we(l,["primary","size","backgroundColor","label"]),a=n?"storybook-button--primary":"storybook-button--secondary";return e.jsx("button",Me(p({type:"button",className:["storybook-button",`storybook-button--${M}`,a].join(" "),style:{backgroundColor:s}},i),{children:r}))};const Tn=t=>e.jsx("video",p({style:{maxWidth:"100%",width:560,height:315}},t)),Ke=Tn;function An(t){const n=t.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<n.length;s++)if(s%2===0){let r=n[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(i,a)=>`$$${a}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(i,a)=>`$${a}$`);M+=r}else M+=n[s];return M}function wn(t){var a;const n=(()=>{try{return new URL(t)}catch(l){return null}})();if(!n)return null;const s=((a=n.pathname.split(".").pop())==null?void 0:a.toLowerCase())||"",r=["jpg","jpeg","gif","png"],i=["mp4","wmv","avi","mov"];return r.includes(s)?"image":i.includes(s)?"video":null}const Ln=t=>{const[n,M]=o.useState(!1),[s,r]=o.useState();return o.useEffect(()=>{t.src&&r(wn(t.src))},[t.src]),s=="video"?e.jsx(Ke,{src:t.src,controls:!0}):jn.isMobile?e.jsxs(e.Fragment,{children:[e.jsx("img",p({style:{maxWidth:"100%"},src:t==null?void 0:t.src,onClick:()=>{M(!0)}},t)),e.jsx(zn.ImageViewer,{image:(t==null?void 0:t.src)||"",visible:n,onClose:()=>{M(!1)}})]}):e.jsx(R.Image,Me(p({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},t),{onClick:i=>{var a,l,c;(c=t.onClick)==null||c.call(t,Me(p({},i),{target:(l=(a=i.target)==null?void 0:a.offsetParent)==null?void 0:l.children[0]}))},onError:()=>{console.log(t),console.warn("图片加载失败")}}))},Qt=Ln,q=Ce.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),mn=M=>Le(exports,[M],function*({target:t,value:n}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(t){const r=document.querySelector(t);if(!r||!r.textContent)return console.warn("Element not found"),!1;n=r.textContent}return n&&(s=n),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Ut=({text:t})=>{const[n,M]=o.useState();return o.useEffect(()=>{n&&setTimeout(()=>M(void 0),2e3)},[n]),n?e.jsx("div",{className:"copy-tip",children:n==="success"?e.jsx(Ce.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):e.jsx(Ce.CloseOutlined,{style:{color:"#dc4446"}})}):e.jsx(R.Tooltip,{title:"复制",children:e.jsx("div",{className:"copy-btn",onClick:()=>{mn({value:t}).then(s=>{M(s?"success":"failed")})},children:e.jsx(q,{type:"icon-fuzhi"})})})},fn=i=>{var a=i,{node:t,inline:n,className:M,children:s}=a,r=we(a,["node","inline","className","children"]);const l=/language-(\w+)/.exec(M||""),c=l?l[1]:null;return!n&&c?e.jsxs("div",{className:"markdown-code",children:[e.jsxs("div",{className:"markdown-code-title",children:[e.jsx("span",{className:"markdown-code-title-text",children:c}),e.jsx(R.Space,{className:"markdown-code-title-action",children:e.jsx(Ut,{text:String(s)})})]}),e.jsx(vt.Prism,Me(p({className:"markdown-code-context",language:c},r),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):e.jsx("code",Me(p({className:M},r),{children:s}))},Rt=fn,Yn=t=>{var r,i;const s=t,{node:n}=s,M=we(s,["node"]);if(n.tagName==="a"&&((r=n.children)==null?void 0:r.length)>0){const a=((i=n.children[0])==null?void 0:i.value)||"";let l=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,c=a.match(l),z=a.replace(l,"").trim();if(!(c!=null&&c.length))return e.jsx("a",p({},M));const N=c[0];return e.jsxs(e.Fragment,{children:[e.jsx("a",Me(p({href:/^www\./.test(N)?"//"+N:N,onClick:()=>window.open(t.href,t.target||"_blank")},M),{children:N})),z]})}return e.jsx("a",p({},M))},Bt=Yn,Pt=i=>{var a=i,{showLatex:t=!0,components:n={},componentProps:M,children:s}=a,r=we(a,["showLatex","components","componentProps","children"]);const l=o.useRef(null),c=p({img(z){return e.jsx(Qt,p(p({},z),M==null?void 0:M.img))},code(z){return e.jsx(Rt,p(p({},z),M==null?void 0:M.code))},video(z){return e.jsx(Ke,p(p({},z),M==null?void 0:M.video))},a(z){return e.jsx(Bt,p(p({},z),M==null?void 0:M.a))}},n);return e.jsx("div",{ref:l,children:e.jsx(sn,Me(p({className:"markdown",rehypePlugins:[ln,rn,[cn,{target:"_blank"}]],remarkPlugins:[an,[on,{singleTilde:!1}]]},r),{children:t?An(s):s,components:c}))})},Be=t=>{var M;if(!t)return;const n=t.split(".");if(!(n.length<2))return(M=n.pop())==null?void 0:M.toLowerCase()},Wt=t=>{if(!t)return"unknown";const n=t.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(n)?"image":n==="mp4"?"video":n==="mp3"?"audio":n==="pdf"?"pdf":n==="markdown"||n==="md"?"markdown":n==="json"?"json":n==="jsonl"||n==="josnl"?"jsonl":n==="csv"?"csv":n==="tsv"?"tsv":n==="html"||n==="htm"?"html":n==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(n)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(n)?"code":n==="txt"?"text":n==="zip"?"zip":n==="tex"||n==="latex"?"text":"unknown"},ft=5*1024*1024,hn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,pn=2*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,Yt=100*1024*1024,kn=100*1024*1024,he=1e4,Ee=1e4,Fe=5e3,de=1e3,Qn=1024*1024*5,Un=3e4,Rn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Bn=t=>{const[n,M]=o.useState(null),[s,r]=o.useState(!0),[i,a]=o.useState(null),l=o.useRef(null);return o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}return l.current&&(URL.revokeObjectURL(l.current),l.current=null,M(null)),r(!0),a(null),fetch(t).then(c=>{if(!c.ok)throw new Error(`HTTP error! status: ${c.status}`);return c.blob()}).then(c=>{if(c.type&&c.type!=="application/pdf"&&!t.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(c);l.current=z,M(z),r(!1)}).catch(c=>{a(c.message||"加载 PDF 失败"),r(!1)}),()=>{l.current&&(URL.revokeObjectURL(l.current),l.current=null)}},[t]),{pdfBlobUrl:n,pdfLoading:s,pdfError:i}},Pn=t=>{if(t===0)return"0 B";const n=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(t)/Math.log(n));return Math.round(t/Math.pow(n,s)*100)/100+" "+M[s]},Wn=t=>Le(exports,null,function*(){let n=!1,M=0;try{const s=yield fetch(t,{method:"HEAD",headers:{Range:"bytes=0-0"}}),r=s.headers.get("Accept-Ranges"),i=s.headers.get("Content-Range"),a=s.headers.get("Content-Length");if(i){const l=i.match(/bytes \d+-\d+\/(\d+)/);l&&(M=parseInt(l[1],10))}else a&&(M=parseInt(a,10));return n=s.status===206||r==="bytes"||i!==null&&i.startsWith("bytes"),{supportsRange:n,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Gn=t=>Le(exports,null,function*(){try{const M=(yield fetch(t,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(n){return console.warn("无法获取文件大小:",n),0}}),Zn=t=>{const[n,M]=o.useState([]),[s,r]=o.useState(!0),[i,a]=o.useState(null),[l,c]=o.useState(null),[z,N]=o.useState(null);o.useEffect(()=>{if(!t){a("文件URL不能为空"),r(!1);return}r(!0),a(null),M([]),c(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),N(null));let y=null;Le(exports,null,function*(){try{ce.configure({chunkSize:Qn,useWebWorkers:!1});const{supportsRange:d,fileSize:j}=yield Wn(t);if(d){const x=new ce.HttpRangeReader(t);y=new ce.ZipReader(x);const h=(yield Promise.race([y.getEntries(),new Promise((A,f)=>setTimeout(()=>f(new Error("读取 ZIP 目录结构超时")),Un))])).filter(A=>!A.directory).map(A=>({name:A.filename,size:A.uncompressedSize||0,isDirectory:!1}));h.sort((A,f)=>A.name.localeCompare(f.name)),h.length>de?(a(`ZIP 文件包含 ${h.length} 个文件,仅显示前 ${de} 个`),M(h.slice(0,de))):M(h)}else{if(j>Yt)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const x=yield fetch(t);if(!x.ok)throw new Error(`HTTP error! status: ${x.status}`);const D=yield x.blob(),h=new ce.BlobReader(D);y=new ce.ZipReader(h);const f=(yield y.getEntries()).filter(E=>!E.directory).map(E=>({name:E.filename,size:E.uncompressedSize||0,isDirectory:!1}));f.sort((E,C)=>E.name.localeCompare(C.name)),f.length>de?(a(`ZIP 文件包含 ${f.length} 个文件,仅显示前 ${de} 个`),M(f.slice(0,de))):M(f)}y&&(yield y.close()),r(!1)}catch(d){if(y)try{yield y.close()}catch(x){}const j=d.message||d.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const x=yield Gn(t);if(x>Yt)throw new Error(`文件过大(${Math.round(x/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const D=yield fetch(t);if(!D.ok)throw new Error(`HTTP error! status: ${D.status}`);const h=yield D.blob(),A=new ce.BlobReader(h);y=new ce.ZipReader(A);const E=(yield y.getEntries()).filter(C=>!C.directory).map(C=>({name:C.filename,size:C.uncompressedSize||0,isDirectory:!1}));E.sort((C,P)=>C.name.localeCompare(P.name)),E.length>de?(a(`ZIP 文件包含 ${E.length} 个文件,仅显示前 ${de} 个`),M(E.slice(0,de))):M(E),y&&(yield y.close()),r(!1);return}catch(x){const D=x.message||x.toString();a(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${D}`)}else a(j);r(!1)}})},[t]);const g=o.useCallback(y=>Le(exports,null,function*(){if(l===y&&z){c(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),N(null);return}c(y);try{let d=null,j;try{const E=new ce.HttpRangeReader(t);d=new ce.ZipReader(E),j=(yield d.getEntries()).find(P=>P.filename===y)}catch(E){const C=yield fetch(t);if(!C.ok)throw new Error(`HTTP error! status: ${C.status}`);const P=yield C.blob(),I=new ce.BlobReader(P);d=new ce.ZipReader(I),j=(yield d.getEntries()).find(T=>T.filename===y)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>kn)throw new Error("文件过大(超过 100MB),无法预览");const D=yield j.getData(new ce.BlobWriter),h=URL.createObjectURL(D),A=Be(y),f=Wt(A);if(!Rn.includes(f))throw new Error(`不支持预览 ${A||"未知"} 格式的文件`);N({name:y,blobUrl:h,type:f}),d&&(yield d.close())}catch(d){const j=d.message||d.toString()||"预览文件失败";a(j)}}),[t,l,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:n,zipLoading:s,zipError:i,selectedZipFile:l,zipFileContent:z,handleFileClick:g,setSelectedZipFile:c}},$=({url:t,fileName:n})=>e.jsx(R.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:t,download:n,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),Gt=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;if((n||new Blob([t.content]).size)>hn){const i=t.content.split(`
3
+ `),a=i.length>he,c=(a?i.slice(0,he):i).join(`
4
+ `);return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(R.Alert,{message:"文件过大",description:`文件包含 ${i.length} 行,仅显示前 ${he} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx($,{url:M,fileName:s})}),e.jsx("pre",{className:"document-viewer-text",children:c})]})}return e.jsx("pre",{className:"document-viewer-text",children:t.content})},Vn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>En)return e.jsx(R.Alert,{message:"JSON文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx($,{url:M,fileName:s})});try{const i=JSON.parse(t.content);return e.jsx("pre",{className:"document-viewer-json",children:JSON.stringify(i,null,2)})}catch(i){return e.jsx(R.Alert,{message:"JSON解析失败",description:"文件内容不是有效的JSON格式",type:"error",action:e.jsx($,{url:M,fileName:s})})}},Hn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>Cn)return e.jsx(R.Alert,{message:"CSV文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx($,{url:M,fileName:s})});try{const i=t.content.split(`
5
+ `).filter(g=>g.trim());if(i.length===0)return null;const a=i.length>Ee,l=a?i.slice(0,Ee):i,c=l[0].split(",").map(g=>g.trim()),z=l.slice(1).map((g,y)=>{const d=g.split(",").map(x=>x.trim()),j={key:String(y)};return c.forEach((x,D)=>{j[x]=d[D]||""}),j}),N=c.map(g=>({title:g,dataIndex:g,key:g}));return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(R.Alert,{message:"文件过大",description:`CSV文件包含 ${i.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx($,{url:M,fileName:s})}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(R.Table,{dataSource:z,columns:N,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(i){return e.jsx(R.Alert,{message:"CSV解析失败",description:"文件内容不是有效的CSV格式",type:"error",action:e.jsx($,{url:M,fileName:s})})}},$n=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>Sn)return e.jsx(R.Alert,{message:"TSV文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx($,{url:M,fileName:s})});try{const i=t.content.split(`
6
+ `).filter(g=>g.trim());if(i.length===0)return null;const a=i.length>Ee,l=a?i.slice(0,Ee):i,c=l[0].split(" ").map(g=>g.trim()),z=l.slice(1).map((g,y)=>{const d=g.split(" ").map(x=>x.trim()),j={key:String(y)};return c.forEach((x,D)=>{j[x]=d[D]||""}),j}),N=c.map(g=>({title:g,dataIndex:g,key:g}));return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(R.Alert,{message:"文件过大",description:`TSV文件包含 ${i.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx($,{url:M,fileName:s})}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(R.Table,{dataSource:z,columns:N,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(i){return e.jsx(R.Alert,{message:"TSV解析失败",description:"文件内容不是有效的TSV格式",type:"error",action:e.jsx($,{url:M,fileName:s})})}},Fn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>pn)return e.jsx(R.Alert,{message:"JSONL文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx($,{url:M,fileName:s})});try{const i=t.content.split(`
7
+ `).filter(c=>c.trim()),a=i.length>Fe,l=a?i.slice(0,Fe):i;return e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[a&&e.jsx(R.Alert,{message:"文件过大",description:`JSONL文件包含 ${i.length} 行,仅显示前 ${Fe} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx($,{url:M,fileName:s})}),e.jsx("div",{className:"document-viewer-jsonl",children:l.map((c,z)=>{try{const N=JSON.parse(c);return e.jsx("div",{className:"document-viewer-jsonl-item",children:e.jsx("pre",{children:JSON.stringify(N,null,2)})},z)}catch(N){return e.jsx("div",{className:"document-viewer-jsonl-item",children:e.jsx("pre",{children:c})},z)}})})]})}catch(i){return e.jsx(R.Alert,{message:"JSONL解析失败",description:"文件内容解析出错",type:"error",action:e.jsx($,{url:M,fileName:s})})}},Jn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;return r>On?e.jsx(R.Alert,{message:"Markdown文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx($,{url:M,fileName:s})}):e.jsx("div",{style:{height:"100%",overflow:"auto",padding:"16px"},children:e.jsx(Pt,{children:t.content})})},_n=({fileContent:t})=>t!=null&&t.content?e.jsx("iframe",{srcDoc:t.content,className:"document-viewer-iframe",title:"HTML Preview",sandbox:"allow-same-origin allow-scripts"}):null,Xn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const r=n||new Blob([t.content]).size;if(r>vn)return e.jsx(R.Alert,{message:"XML文件过大",description:`文件大小 ${Math.round(r/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:e.jsx($,{url:M,fileName:s})});try{const i=t.content.replace(/></g,`>
8
+ <`).replace(/^\s+/gm,"");return e.jsx("pre",{className:"document-viewer-xml",children:i})}catch(i){return e.jsx(Gt,{fileContent:t,fileSize:n,url:M,fileName:s})}},Kn=({fileContent:t,fileSize:n,url:M,fileName:s})=>{if(!(t!=null&&t.content))return null;const i=o.useMemo(()=>Be(s||M),[s,M])||"text";if((n||new Blob([t.content]).size)>bn){const l=t.content.split(`
9
+ `),c=l.length>he,N=(c?l.slice(0,he):l).join(`
10
+ `);return e.jsxs("div",{className:"document-viewer-code",children:[c&&e.jsx(R.Alert,{message:"文件过大",description:`文件包含 ${l.length} 行,仅显示前 ${he} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:e.jsx($,{url:M,fileName:s})}),e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px"},children:N})})]})}return e.jsx("div",{className:"document-viewer-code",children:e.jsx("div",{style:{overflow:"auto",flex:1},children:e.jsx(vt.Prism,{language:i,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:t.content})})})},qn=({url:t,fileName:n})=>e.jsx("div",{className:"document-viewer-image",children:e.jsx(R.Image,{src:t,alt:n||"Image"})}),eM=({url:t})=>e.jsx("div",{className:"document-viewer-video",children:e.jsx("video",{src:t,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),tM=({url:t})=>e.jsx("div",{className:"document-viewer-audio",children:e.jsx("audio",{src:t,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),nM=({pdfBlobUrl:t,pdfLoading:n,pdfError:M,url:s,fileName:r})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(R.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?e.jsx(R.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx($,{url:s,fileName:r})}):t?e.jsx("div",{className:"document-viewer-pdf",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"PDF Preview"})}):e.jsx(R.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:e.jsx($,{url:s,fileName:r})}),MM=({zipFiles:t,zipLoading:n,zipError:M,selectedZipFile:s,zipFileContent:r,onFileClick:i,url:a})=>n?e.jsx("div",{className:"document-viewer-loading",children:e.jsx(R.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&t.length===0?e.jsx(R.Alert,{message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:e.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):e.jsxs("div",{className:"document-viewer-zip",children:[M&&t.length>0&&e.jsx(R.Alert,{message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),e.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[e.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[e.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",t.length,")"]}),e.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:e.jsx(R.Table,{dataSource:t,size:"small",pagination:!1,scroll:{y:"100%"},onRow:l=>({onClick:()=>i(l.name),style:{cursor:"pointer",backgroundColor:s===l.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:l=>e.jsx("span",{title:l,children:l.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:l=>Pn(l)}]})})]}),e.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&r?e.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[e.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:r.name}),e.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:e.jsx(Zt,{url:r.blobUrl,fileName:r.name})})]}):e.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),sM=({message:t,description:n,action:M,url:s,fileName:r})=>{const i=s?e.jsx(R.Button,{type:"link",icon:e.jsx(Ce.DownloadOutlined,{}),href:s,download:r,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return e.jsx(R.Alert,{message:t,description:n,type:"error",showIcon:!0,action:M||i})};const oM=t=>{const{url:n,fileName:M,className:s,style:r}=t,i=o.useMemo(()=>{const b=Be(M||n);return Wt(b)},[n,M]),{pdfBlobUrl:a,pdfLoading:l,pdfError:c}=Bn(i==="pdf"?n:""),{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:y,zipFileContent:d,handleFileClick:j}=Zn(i==="zip"?n:""),[x,D]=o.useState(!0),[h,A]=o.useState(null),[f,E]=o.useState(null),[C,P]=o.useState(0);o.useEffect(()=>{if(i==="pdf"||i==="zip"){D(!1);return}if(!n){A("文件URL不能为空"),D(!1);return}if(["image","video","audio","office","unknown"].includes(i)){D(!1);return}D(!0),A(null),Le(exports,null,function*(){try{const T=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length"),w=T?parseInt(T,10):0;if(P(w),w>ft){A(`文件过大(${Math.round(w/1024/1024)}MB),无法预览。请下载后查看。`),D(!1);return}const S=yield fetch(n);if(!S.ok)throw new Error(`HTTP error! status: ${S.status}`);const H=yield S.text(),ee=new Blob([H]).size;if(ee>ft){A(`文件过大(${Math.round(ee/1024/1024)}MB),无法预览。请下载后查看。`),D(!1);return}E({content:H}),D(!1)}catch(b){A(b.message||"加载文件失败"),D(!1)}})},[n,i]);const I=()=>{if(x)return e.jsx("div",{className:"document-viewer-loading",children:e.jsx(R.Spin,{size:"large",tip:"加载中..."})});if(h)return e.jsx(sM,{message:"加载失败",description:h,url:n,fileName:M});switch(i){case"text":return e.jsx(Gt,{fileContent:f,fileSize:C,url:n,fileName:M});case"json":return e.jsx(Vn,{fileContent:f,fileSize:C,url:n,fileName:M});case"csv":return e.jsx(Hn,{fileContent:f,fileSize:C,url:n,fileName:M});case"tsv":return e.jsx($n,{fileContent:f,fileSize:C,url:n,fileName:M});case"jsonl":return e.jsx(Fn,{fileContent:f,fileSize:C,url:n,fileName:M});case"markdown":return e.jsx(Jn,{fileContent:f,fileSize:C,url:n,fileName:M});case"html":return e.jsx(_n,{fileContent:f,fileSize:C,url:n,fileName:M});case"xml":return e.jsx(Xn,{fileContent:f,fileSize:C,url:n,fileName:M});case"code":return e.jsx(Kn,{fileContent:f,fileSize:C,url:n,fileName:M});case"image":return e.jsx(qn,{url:n,fileName:M});case"video":return e.jsx(eM,{url:n,fileName:M});case"audio":return e.jsx(tM,{url:n,fileName:M});case"pdf":return e.jsx(nM,{pdfBlobUrl:a,pdfLoading:l,pdfError:c,url:n,fileName:M});case"office":return e.jsx(iM,{url:n});case"zip":return e.jsx(MM,{zipFiles:z,zipLoading:N,zipError:g,selectedZipFile:y,zipFileContent:d,onFileClick:j,url:n});case"unknown":default:return e.jsx(rM,{url:n})}};return e.jsx("div",{className:`document-viewer ${s||""}`,style:r,children:I()})},iM=({url:t})=>{const n=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(t)}`;return e.jsxs("div",{className:"document-viewer-office",children:[e.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"Office Document Preview"}),e.jsx("div",{className:"document-viewer-fallback",children:e.jsx(R.Alert,{message:"预览可能不可用",description:e.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},rM=({url:t})=>e.jsx("div",{className:"document-viewer-unknown",children:e.jsx("iframe",{src:t,className:"document-viewer-iframe",title:"File Preview"})}),Zt=oM;const ze=t=>{var n;return e.jsx("button",Me(p({},t),{className:`g-icon-btn disabled ${(n=t==null?void 0:t.className)!=null?n:""}`}))},cM=t=>{var T,w;const n=o.useRef(null),{className:M,headerClassName:s,style:r,visible:i,mode:a="normal",header:l,icons:c={collapseButton:e.jsx(q,{type:"icon-yincang"}),expandButton:e.jsx(q,{type:"icon-yincang"}),fullscreenButton:e.jsx(q,{type:"icon-suofang"}),exitFullscreenButton:e.jsx(q,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:N,onMinimize:g,onMaximize:y}=t,[d,j]=o.useState(a==="max"),[x,D]=o.useState(a==="min"),h=o.useRef(null),[A,f]=o.useState(a);o.useEffect(()=>{j(a==="max"),D(a==="min"),f(a)},[a]);const E=()=>{j(!d),f(d?"normal":"max"),d?N&&N():y&&y()},C=()=>{D(!x),f(x?"normal":"min"),x?N&&N():g&&g()};o.useEffect(()=>{h.current&&d&&(h.current.style.transform="none")},[d]);const P=(w=t.fullScreenContainer)!=null?w:(T=n.current)==null?void 0:T.parentElement,I=P==null?void 0:P.getBoundingClientRect(),b={position:"fixed",top:I==null?void 0:I.y,left:I==null?void 0:I.x,width:x?0:I==null?void 0:I.width,height:I==null?void 0:I.height};return e.jsxs("div",{className:"g-expandable-pannel-wrap",style:p({visibility:i!==!1?"visible":"hidden",position:d&&!x?"absolute":"unset"},d?b:null),ref:n,children:[!x&&e.jsxs("div",{className:`g-expandable-pannel ${d?"full":""} `,style:p({},r),children:[l!=null?l:e.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:e.jsx(ze,{onClick:E,children:d?c.exitFullscreenButton:c.fullscreenButton})}),e.jsx("div",{className:"g-expandable-pannel-body",children:t.children})]}),e.jsx("div",{className:`g-expandable-pannel-expand-bar ${x?"collapsed":"expaned"} ${s!=null?s:""}`,children:e.jsx(ze,{onClick:C,children:x?c.expandButton:c.collapseButton})})]})};const aM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},Vt=t=>{const{style:n,passes:M,scale:s,activePassId:r,passStyle:i,activePassStyle:a}=t;return e.jsx("svg",{className:"pass-map",style:n,children:M.map((l,c)=>{var N;const z=l.id===r?a:aM;return e.jsx("g",{children:e.jsx("polygon",{points:(N=l.points)==null?void 0:N.map(g=>`${g.x*s} ${g.y*s}`).join(","),style:p(p(p({},i),l.passStyle),z)})},c)})})};const lM=t=>{var g,y,d,j;const N=t,{children:n,open:M,point:s,key:r,style:i}=N,a=we(N,["children","open","point","key","style"]),[l,c]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var h,A;if(!s.tooltipRender||!z.current)return;const x=s.tooltipRender(s);if(typeof x=="string"||typeof x=="number"){z.current.innerText=x.toString();return}const D=(h=z.current)==null?void 0:h.firstChild;D?D.replaceWith(x):(A=z.current)==null||A.appendChild(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,l]),o.useEffect(()=>{c(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),e.jsx(bt,Me(p({},a),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:x=>{var A,f;if(s.tooltipOpen||c(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const D=s.tooltipRender(s);if(typeof D=="string"||typeof D=="number"){z.current.innerText=D.toString();return}const h=(A=z.current)==null?void 0:A.firstChild;h?h.replaceWith(D):(f=z.current)==null||f.appendChild(D)},color:((g=s.tooltipStyle)==null?void 0:g.backgroundColor)||((y=s.tooltipStyle)==null?void 0:y.backgroundImage)||((j=(d=s.tooltipStyle)==null?void 0:d.background)==null?void 0:j.toString()),title:e.jsx("div",{ref:z},r),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:p({zIndex:9},i),motion:{forceRender:!0},children:n}))},zM=lM,jM={attributes:!0,characterData:!0},NM=t=>{const n=o.useRef(null),{point:M,open:s,id:r,x:i,y:a,r:l,active:c=!1,hidden:z=!1,onPointClick:N,getTooltipContainer:g}=t,[y,d]=o.useState(t.style),[j,x]=o.useState(!0);o.useEffect(()=>{const A=un.diff(y,t.style);Object.keys(A).length&&d(t.style)},[t.style]);const D=o.useMemo(()=>e.jsx("circle",{id:`mark-${r}`,className:"point point-active",cx:i,cy:a,r:l,ref:n,style:y,onClick:()=>N&&N(M)}),[i,a,l,y,c]),h=o.useMemo(()=>{const A=gn(()=>{x(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),x(!1),A()})},[]);return o.useEffect(()=>{if(!(!n.current||!M.tooltipRender))return h.observe(n.current,jM),()=>{n.current&&h.disconnect()}},[i,a,l]),z?e.jsx(e.Fragment,{}):M.tooltipRender&&j?e.jsx(zM,{open:s,point:M,getPopupContainer:g,children:D}):D},ht=NM,Ht=t=>{var Qe;const{width:n,height:M,points:s,scale:r,pointSize:i=6,direction:a,activePointId:l,style:c,lineStyle:z,pointStyle:N,directionStyle:g,marks:y,resizable:d,transform:j,keepRatio:x=!1,onPointClick:D,onTransform:h,onPointsChange:A,onCancelResize:f,actions:E=!0,setIsSaved:C,isSaved:P=!1}=t,I=o.useRef(null),b=o.useRef(null),T=o.useRef(null),w=o.useRef(null),S=o.useRef(null),[H,ee]=o.useState(null),[L,Y]=o.useState((j==null?void 0:j.scale)||[1,1]),[k,W]=o.useState((j==null?void 0:j.rotate)||0),[V,ye]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[je,se]=o.useState([]),[G,ae]=o.useState(),[ue,ie]=o.useState(),[re,J]=o.useState(d),[me,_]=o.useState([]),[te,Se]=o.useState(s),[fe,$e]=o.useState(!0),[X,Ie]=o.useState(),[ne,Ne]=o.useState(),[pe,We]=o.useState(typeof E!="boolean"?E:E===!0?{}:null),xe=(i-i/4*.9)*2/r;o.useEffect(()=>{We(typeof E!="boolean"?E:E===!0?{}:null)},[E]);const Ge=(u,m)=>{if(!u.length)return;let B;return u.map(v=>{var oe;if(!B){B=v;return}const Z=e.jsx("line",{x1:Number.isFinite(B.x)?B.x:0,y1:Number.isFinite(B.y)?B.y:0,x2:Number.isFinite(v.x)?v.x:0,y2:Number.isFinite(v.y)?v.y:0,style:Me(p(p({stroke:"#1F66E1BF"},z),B.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((oe=B.lineStyle)==null?void 0:oe.strokeWidth)||2)/m})},v.id);return B=v,Z})},Oe=new ResizeObserver(()=>{I.current&&(b.current&&(b.current.style.transform="none",b.current.style.width="auto",b.current.style.height="100%"),b.current&&(b.current.style.width="100%",b.current.style.height="100%"))});o.useEffect(()=>{var u;Ne((u=T.current)==null?void 0:u.getBoundingClientRect())},[c==null?void 0:c.left,c==null?void 0:c.top,c==null?void 0:c.width,c==null?void 0:c.height,r]),o.useEffect(()=>{J(d)},[d]),o.useEffect(()=>{Se(s||[])},[s,me]),o.useEffect(()=>{var u;(!((u=T.current)!=null&&u.style.transform)||T.current.style.transform==="none")&&(Y((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[(Qe=T.current)==null?void 0:Qe.style.transform]),o.useEffect(()=>{!T.current||re||(T.current.style.transform="none",Y((j==null?void 0:j.scale)||[1,1]),W((j==null?void 0:j.rotate)||0),ye((j==null?void 0:j.translate)||[0,0,0,0]))},[re]),o.useEffect(()=>{if(I.current)return Oe.observe(I.current),()=>{I.current&&Oe.unobserve(I.current)}},[I.current]),o.useEffect(()=>{!H||!j||(H.throttleDragRotate=j.rotate,H.throttleScale=j.scale,H.throttleDrag=j.translate)},[H,j]),o.useEffect(()=>{ae(te==null?void 0:te.find(m=>m.id===l));let u=te.map(m=>{var oe,Ue,Ae;const B=m.x,O=m.y,v=m.id===l,Z=i*(v?1.2:1)/r;return e.jsx(ht,{open:fe,id:m.id,point:m,getTooltipContainer:()=>S.current||document.body,x:B,y:O,r:N!=null&&N.r||(oe=m.pointStyle)!=null&&oe.r?Number((N==null?void 0:N.r)||((Ue=m.pointStyle)==null?void 0:Ue.r))/r:Z/2,hidden:v,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff",cursor:D?"pointer":"unset"},N),m.pointStyle),{strokeWidth:Number(((Ae=m.pointStyle)==null?void 0:Ae.strokeWidth)||2)/r,r:void 0}),onPointClick:D},m.id)})||[];se(u)},[te,l,r,fe]),o.useEffect(()=>{var v,Z,oe;if(!G){ie(void 0);return}const u=G.x,m=G.y,B=G.id===l,O=i*(B?1.2:1)/r;ie(e.jsxs("g",{children:[a!==void 0&&e.jsx("circle",{id:`mark-${G.id}`,cx:u,cy:m,r:`${xe}`,strokeDasharray:xe*2*Math.PI,strokeDashoffset:xe*2*Math.PI/360*(360-60),style:p({transform:`rotate(${a+240}deg)`,transformOrigin:`${u}px ${m}px`,strokeWidth:xe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},g)}),e.jsx(ht,{open:fe,point:G,getTooltipContainer:()=>S.current||document.body,x:u,y:m,r:(v=G.pointStyle)!=null&&v.r?Number((Z=G.pointStyle)==null?void 0:Z.r)/r:O/2,style:Me(p(p({stroke:"#1F66E1BF",fill:"#fff"},N),G.pointStyle),{strokeWidth:Number(((oe=G.pointStyle)==null?void 0:oe.strokeWidth)||2)/r,r:void 0}),onPointClick:D},G.id)]},G.id))},[G,a,r,fe]),o.useEffect(()=>{T.current&&setTimeout(()=>{var u,m;Ie((u=T.current)==null?void 0:u.getBBox()),Ne((m=T.current)==null?void 0:m.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var m,B;if(!T.current)return;Ie((m=T.current)==null?void 0:m.getBBox()),Ne((B=T.current)==null?void 0:B.getBoundingClientRect()),new ResizeObserver(()=>{var O,v;Ie((O=T.current)==null?void 0:O.getBBox()),Ne((v=T.current)==null?void 0:v.getBoundingClientRect())}).observe(T.current)},[T.current]),o.useEffect(()=>{P&&(le(),C&&C(!1))},[P]);const le=()=>{var O;const u=(O=w.current)==null?void 0:O.getBoundingClientRect();if(!u){A&&A(s),J(!1);return}const m=me.map(v=>{const Z=v.getBoundingClientRect();return{id:v.id.split("-")[1],x:(Z.x+Z.width/2-u.x)/r,y:(Z.y+Z.height/2-u.y)/r}}),B=s.map(v=>{const Z=m==null?void 0:m.find(oe=>oe.id.toString()===v.id.toString());return Z?p(p({},v),Z):v});Se(B),A&&A(B.length?B.map((v,Z)=>({id:v.id,x:v.x,y:v.y,order:Z})):s),J(!1)},Te=u=>u.map(m=>{const{render:B,renderData:O}=m,v=m.x*r,Z=m.y*r;return e.jsx(bt,{className:"track-map-marker-tooltip",placement:"top",title:B(O,p({},m)),open:!!O,style:{zIndex:9999},children:e.jsx("circle",{id:`mark-${m.id}`,cx:v,cy:Z,r:i/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:e.jsx("span",{children:O.label})})},m.id)}),ve=X?{x:X.x+X.width/2,y:X.y+X.height/2}:{x:0,y:0},be=te.reduce((u,m)=>[Math.min(u[0],m.x),Math.max(u[1],m.x)],[0,0]),ke=te.reduce((u,m)=>[Math.min(u[0],m.y),Math.max(u[1],m.y)],[0,0]);return e.jsx(R.ConfigProvider,{prefixCls:"g-rc",children:e.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:I,children:[e.jsx("svg",{style:c,ref:w,viewBox:`0 0 ${n} ${M}`,children:e.jsxs("g",{ref:T,x:be[0],y:ke[0],width:be[1]-be[0],height:ke[1]-ke[0],style:{transformOrigin:`${ve.x}px ${ve.y}px`,cursor:re?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[X&&e.jsx("rect",{x:X.x,y:X.y,width:X.width,height:X.height,fill:"#ff000004"}),e.jsx("g",{className:"track-lines",children:Ge((te==null?void 0:te.filter(u=>u.order>-1))||[],r)}),e.jsxs("g",{className:"track-points",children:[je,ue]}),y&&e.jsx("g",{children:Te(y)})]})}),e.jsx("div",{className:"tooltip-container",ref:S,style:{position:"fixed",top:(ne==null?void 0:ne.y)||0,left:(ne==null?void 0:ne.x)||0,width:(ne==null?void 0:ne.width)||0,height:(ne==null?void 0:ne.height)||0}}),re&&T.current&&w.current&&e.jsx(Nn,{className:"path-moveable-control-box",ref:u=>{ee(u)},keepRatio:x,target:[T.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:u,beforeDelta:m,beforeDist:B,left:O,top:v,right:Z,bottom:oe,delta:Ue,dist:Ae,transform:Ye,clientX:qe,clientY:et})=>{ye(Ae),u.style.transform=Ye},onDragStart:({inputEvent:u})=>{u.stopPropagation()},onDragEnd:()=>{var m;const u=(m=T.current)==null?void 0:m.getElementsByTagName("circle");_(u!=null&&u.length?[...u]:[]),h&&h({rotate:k,translate:V,scale:L},u!=null&&u.length?[...u]:[],w.current||void 0)},renderDirections:x?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:u,scale:m,transform:B})=>{var v;Y(m),u.style.transform=B;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),h&&h({rotate:k,translate:V,scale:m},O!=null&&O.length?[...O]:[],w.current||void 0)},onRotate:({target:u,dist:m,transform:B})=>{var v;W(m),u.style.transform=B;const O=(v=T.current)==null?void 0:v.getElementsByTagName("circle");_(O!=null&&O.length?[...O]:[]),h&&h({rotate:m,translate:V,scale:L},O!=null&&O.length?[...O]:[],w.current||void 0)},onRenderEnd:()=>{var m,B,O;const u=(m=T.current)==null?void 0:m.getElementsByTagName("circle");h&&h({rotate:k,translate:V,scale:L},u!=null&&u.length?[...u]:[],w.current||void 0),Ie((B=T.current)==null?void 0:B.getBBox()),Ne((O=T.current)==null?void 0:O.getBoundingClientRect())}})]})})},Et=t=>{const{name:n,type:M,style:s,className:r,children:i,onConfirm:a}=t,[l,c]=o.useState(null);return o.useEffect(()=>{if(!t.confirm){c(null);return}if(t.confirm===!0){c({text:`确认${n}吗?`});return}c(t.confirm)},[t.confirm]),l?e.jsx(dn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:l.text,trigger:"click",onConfirm:a,children:e.jsx(Je,{className:r,type:M,style:p({},s),children:i||n})}):e.jsx(Je,{className:r,type:M,onClick:a,children:i||n})};let Ct;const uM=o.forwardRef((t,n)=>{var nt,Mt,st,ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,At;const{url:M,points:s,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,onPointClick:N,passes:g,activePassId:y,passStyle:d,activePassStyle:j,marks:x,draggable:D=!1,offsetEdge:h=[50,50,50,50],zoomable:A=!1,zoomStep:f=.02,zoomMax:E=2,zoomMin:C=0,onImageLoad:P,trackEditable:I,trackEditing:b,keepRatio:T,transform:w,onTrackEditingChange:S,onTransform:H,onPointsChange:ee,actions:L=!0}=t,Y=o.useRef({}),k=o.useRef({}),[W,V]=o.useState(0),[ye,je]=o.useState(0),[se,G]=o.useState(1),[ae,ue]=o.useState(0),[ie,re]=o.useState(0),[J,me]=o.useState(0),[_,te]=o.useState(0),[Se,fe]=o.useState(!1),[$e,X]=o.useState(!1),[Ie,ne]=o.useState(),[Ne,pe]=o.useState({x:0,y:0}),[We,xe,Ge,Oe]=h,[le,Te]=o.useState(b),[ve,be]=o.useState(1),[ke,Qe]=o.useState(!1),[u,m]=o.useState(typeof L!="boolean"?L:L===!0?{}:null);o.useEffect(()=>{be(Math.round(se*100)/100)},[se]),o.useEffect(()=>{Te(b)},[b]),o.useEffect(()=>{Ct=new ResizeObserver(B),Ct.observe(k.current);const Q=U=>(U.preventDefault(),!1);return k.current.addEventListener("wheel",Q),()=>{k.current.removeEventListener("wheel",Q)}},[]);const B=()=>{if(!k.current)return;const Q=k.current.clientWidth,U=k.current.clientHeight,F=Y.current.naturalWidth,K=Y.current.naturalHeight,De=Q/F,Ze=U/K,Re=De<Ze?De:Ze,Xt=(Q-F*Re)/2,Kt=(U-K*Re)/2,qt=F*Re,en=K*Re;V(Q),je(U),G(Re),ue(Xt),re(Kt),me(qt),te(en),fe(!0),P&&P(Y.current)},O=()=>{if(!A||se>=E)return;let Q=se*(1+f),U=f;Q>=E&&(Q=E,U=E/se-1),ue(ae-J*(U/2)),re(ie-_*(U/2)),me(J+J*U),te(_+_*U),G(Q),Ye()},v=()=>{if(!A||se<=C)return;let Q=se*(1-f),U=f;Q<=C&&(Q=C,U=1-C/se),ue(ae-J*(-U/2)),re(ie-_*(-U/2)),me(J+J*-U),te(_+_*-U),G(Q),Ye()};o.useImperativeHandle(n,()=>({zoomIn:O,zoomOut:v}));const Z=Q=>(Q.nativeEvent.deltaY<0?O():v(),!1),oe=Q=>{X(!0);const{pageX:U,pageY:F}=Q;pe({x:U,y:F})},Ue=Q=>{if(!$e)return!1;const{pageX:U,pageY:F}=Q,K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),Ye()},Ae=()=>{X(!1)};window.onmouseup=()=>{X(!1)};const Ye=()=>{ae<-J+Oe&&ue(-J+Oe),ie<-_+We&&re(-_+We),ae>W-xe&&ue(W-xe),ie>ye-Ge&&re(ye-Ge)},qe=()=>{Te(!le),S&&S(!le)},et=Q=>{const{touches:U}=Q;if(console.log("onTouchStart"),console.log(U),X(!0),U.length<2){const{clientX:F,clientY:K}=U[0];pe({x:F,y:K})}else ne(U)},Ft=Q=>{if(!$e||!Q.touches)return!1;const{clientX:U,clientY:F}=Q.touches[0];if(Q.touches.length<2){const K=U-Ne.x,De=F-Ne.y;pe({x:U,y:F}),ue(ae+K),re(ie+De),Ye()}else{console.log("onTouchMove"),console.log(Q.touches);const K=Q.touches,De=tt(K[0],K[1]),Ze=tt(Ie[0],Ie[1]);De>Ze?O():v()}},tt=(Q,U)=>{const F=U.pageX-Q.pageX,K=U.pageY-Q.pageY;return Math.sqrt(F*F+K*K)};o.useEffect(()=>{m(typeof L!="boolean"?L:L===!0?{}:null)},[L]);const Jt=()=>{Te(!1),S&&S(!1)},_t=()=>{Qe(!0)};return e.jsxs("div",{className:"image-map",ref:k,onMouseDown:D?oe:void 0,onMouseMove:D?Ue:void 0,onMouseUp:D?Ae:void 0,onWheel:D?Z:void 0,onTouchStart:D?et:void 0,onTouchMove:D?Ft:void 0,onTouchEnd:D?Ae:void 0,children:[e.jsx("img",{className:"img",style:{position:"absolute",left:ae,top:ie,width:J,height:_},ref:Y,onLoad:B,src:M,alt:""}),Se&&(g==null?void 0:g.length)&&e.jsx(Vt,{style:{position:"absolute",left:ae,top:ie,width:J,height:_},passes:g,scale:se,activePassId:y,passStyle:d,activePassStyle:j}),Se&&!!(s!=null&&s.length)&&e.jsx(Ht,{style:{position:"absolute",left:ae,top:ie,width:J,height:_,overflow:"visible"},width:Y.current.naturalWidth,height:Y.current.naturalHeight,transform:w,movable:le,resizable:le,points:s,scale:se,pointSize:r,direction:i,activePointId:a,lineStyle:l,pointStyle:c,directionStyle:z,keepRatio:T,marks:x,onPointClick:N,onTransform:H,onPointsChange:Q=>{ee&&ee(Q),Te(!1),S&&S(!1)},onCancelResize:()=>{Te(!1),S&&S(!1)},actions:L,setIsSaved:Qe,isSaved:ke}),I&&e.jsxs("div",{className:"image-map-toolbar",children:[e.jsx($t,{className:"zoom-controller",value:ve,min:C,max:E,step:f,showText:!0,onChange:Q=>{ve>Q?v():O()}}),I&&(le&&L?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsxs("div",{className:"editing-controller",children:[e.jsx(Et,{children:typeof L!="boolean"&&((nt=L.cancelButton)==null?void 0:nt.children)||void 0,name:typeof L!="boolean"&&((Mt=L.cancelButton)==null?void 0:Mt.text)||"退出编辑",className:`editing-controller${le?" active":""} ${typeof L!="boolean"&&((st=L.cancelButton)==null?void 0:st.className)||""}`,confirm:((ot=u==null?void 0:u.cancelButton)==null?void 0:ot.confirm)===!0?{text:"调整记录将不被保存"}:(it=u==null?void 0:u.cancelButton)!=null&&it.confirm?u.cancelButton.confirm:!1,style:typeof L!="boolean"&&((rt=L.cancelButton)==null?void 0:rt.style)||void 0,onConfirm:Jt}),e.jsx(Et,{type:"primary",children:typeof L!="boolean"&&((ct=L.okButton)==null?void 0:ct.children)||e.jsxs("div",{className:"save-detail",children:[e.jsx(Ce.SaveOutlined,{}),e.jsx("span",{children:"保存"})]}),name:typeof L!="boolean"&&((at=L.okButton)!=null&&at.confirm)?((lt=L.okButton)==null?void 0:lt.text)||"保存":"确定",className:`editing-controller${le?" active":""} ${typeof L!="boolean"&&((zt=L.okButton)==null?void 0:zt.className)||""}`,confirm:((jt=u==null?void 0:u.okButton)==null?void 0:jt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(Nt=u==null?void 0:u.okButton)!=null&&Nt.confirm?u.okButton.confirm:!1,style:typeof L!="boolean"&&((ut=L.okButton)==null?void 0:ut.style)||void 0,onConfirm:_t})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"line"}),e.jsx("div",{className:"moveable-controller",children:e.jsx(Je,{title:le?typeof L!="boolean"&&((gt=L.editButton)==null?void 0:gt.exitTitleText)||"退出编辑":typeof L!="boolean"&&((dt=L.editButton)==null?void 0:dt.titleText)||"调整轨迹",className:`moveable-controller-btn${le?" active":""} ${typeof L!="boolean"&&((yt=L.editButton)==null?void 0:yt.className)||""}`,style:typeof L!="boolean"&&((Dt=L.editButton)==null?void 0:Dt.style)||void 0,onClick:qe,children:typeof L!="boolean"?(It=L.editButton)!=null&&It.children?(xt=L.editButton)==null?void 0:xt.children:(Tt=L.editButton)!=null&&Tt.text?e.jsx("span",{children:(At=L.editButton)==null?void 0:At.text}):e.jsxs("div",{className:"btn-change",children:[e.jsx(q,{type:"icon-tiaozheng"}),e.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),gM=t=>{const{className:n,style:M,length:s=0,current:r=0,speed:i=2e3,play:a=!1,loop:l=!1,loading:c=!1,onChange:z}=t,[N,g]=o.useState(a),[y,d]=o.useState(r),[j,x]=o.useState(null);o.useEffect(()=>{d(r)},[r]),o.useEffect(()=>{g(a)},[a]),o.useEffect(()=>{N?D():y>=s-1&&(d(0),z(0))},[N]),o.useEffect(()=>{N&&(c?j&&(clearTimeout(j),x(null)):x(setTimeout(D,i)))},[c]);const D=()=>{d(f=>f<s-1?(z(f+1),f+1):l?(z(0),0):(A(),f))},h=()=>{y>=s-1&&d(0),g(!0)},A=()=>{g(!1),j&&(clearTimeout(j),x(null))};return e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:y<=0||c,onClick:()=>{z(0),d(0)},children:e.jsx(q,{type:"icon-diyige"})}),e.jsx(ze,{disabled:y<=0||c,onClick:()=>{z(y-1),d(y-1)},children:e.jsx(q,{type:"icon-qianyige"})}),N?e.jsx(ze,{onClick:A,children:e.jsx(q,{type:"icon-zanting"})}):e.jsx(ze,{disabled:y>=s-1||c,onClick:h,children:e.jsx(q,{type:"icon-bofang"})}),e.jsx(ze,{disabled:y>=s-1||c,onClick:()=>{z(y+1),d(y+1)},children:e.jsx(q,{type:"icon-xiayige"})}),e.jsx(ze,{disabled:y>=s-1||c,onClick:()=>{z(s-1),d(s-1)},children:e.jsx(q,{type:"icon-zuihouyige"})})]})};const dM=16,yM=16,DM=-1,IM=1,xM=-1,TM=1,AM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetX)return n.offsetX;{const s=M.getBoundingClientRect();return n.clientX-s.left}},wM=t=>{const n=t||window.event,M=t.target||t.srcElement;if(n.offsetY)return n.offsetY;{const s=M.getBoundingClientRect();return n.clientY-s.top}},LM=t=>{const n=t.split("-");let M=n.length>1||n[0]==="left"||n[0]==="right"?n[0]:"center",s=n.length>1?n[1]:n[0]==="top"||n[0]==="bottom"?n[0]:"middle";return[M,s]},mM=(t,n,M=[dM,yM])=>{const s=()=>{switch(t[0]){case"left":return DM;case"right":return IM;default:return 0}},r=()=>{switch(t[1]){case"top":return xM;case"bottom":return TM;default:return 0}},i=()=>{switch(t[0]){case"left":return-((n==null?void 0:n.width)||0)-M[0]-2;case"right":return 0;default:return-((n==null?void 0:n.width)||0)/2}},a=()=>{switch(t[1]){case"top":return-M[1]-2;case"bottom":return(n==null?void 0:n.height)||0;default:return((n==null?void 0:n.height)||0)/2}};return{x:M[0]*s()+i(),y:M[1]*r()+a()}},fM=t=>{var E;const{children:n,defaultPosition:M,forElement:s,placement:r="right-bottom",curserPosition:i,className:a,style:l}=t,c=o.useRef(null),z=o.useRef(null),N=s||document.body,g=LM(r),y=mM(g,(E=z.current)==null?void 0:E.getBoundingClientRect(),i),[d,j]=o.useState(t.visible||!0),[x,D]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(N.addEventListener("mouseenter",h),N.addEventListener("mousemove",f),N.addEventListener("mouseleave",A),()=>{N.removeEventListener("mouseenter",h),N.removeEventListener("mousemove",f),N.removeEventListener("mouseleave",A)}),[N]),o.useEffect(()=>{j(t.visible||!0)},[t.visible]);const h=()=>{j(!0)},A=()=>{j(!1)},f=C=>{let P=AM(C)+y.x;const I=wM(C)+y.y;D({x:P,y:I})};return e.jsx("div",{className:`g-mouse-tip ${g.join(" ")}`,ref:c,style:{left:`${x.x}px`,top:`${x.y}px`,visibility:`${d?"visible":"hidden"}`},children:e.jsx("div",{className:`g-mouse-tip-content ${a}`,style:l,ref:z,children:n})})},$t=t=>{const{className:n,style:M,value:s,min:r,max:i,step:a=1,onChange:l,showText:c=!1}=t,[z,N]=o.useState(s!=null?s:0);return o.useEffect(()=>{N(s!=null?s:0)},[s]),e.jsxs("div",{className:n,style:M,children:[e.jsx(ze,{disabled:!!(i&&i<=z),onClick:()=>{l(z+a),N(z+a)},children:e.jsx(q,{type:"icon-fangda"})}),c&&e.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),e.jsx(ze,{disabled:!!(r&&r>=z),onClick:()=>{l(z-a),N(z-a)},children:e.jsx(q,{type:"icon-suoxiao"})})]})};function YM(t,n){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",t),M.appendChild(s),s.onload=n}function hM(t){const[n,M]=o.useState(!1),[s,r]=o.useState(),[i,a]=o.useState(),[l,c]=o.useState(!1),[z,N]=o.useState(),[g,y]=o.useState([]),[d,j]=o.useState(0);function x(I){if(I.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&D(I.viewToken)}const D=I=>{if(!s){let b=z,T=new window.Glodon.Bimface.Application.WebApplication3DConfig;T.domElement=b,T.Toolbars=[];const w=new window.Glodon.Bimface.Application.WebApplication3D(T);w.addView(I),r(w);const S=w.getViewer();S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){S.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},S.setCameraAnimation(!1),S.render(),S.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),S.render(),c(!0)}),S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j(H=>H+1)}),a(S)}};o.useEffect(()=>{l&&g.forEach(I=>{i.loadModel({viewToken:I})})},[l,g]),o.useEffect(()=>{},[d]),o.useEffect(()=>{if(!z||!g.length)return;const I=g.pop();I&&A(I),y([...g])},[z]);function h(I){console.log(I)}function A(I){j(0);const b=()=>{let T=new window.BimfaceSDKLoaderConfig;T.viewToken=I,window.BimfaceSDKLoader.load(T,x,h)};if(!window.BimfaceSDKLoaderConfig){YM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",b);return}b()}const f=(I,b)=>{if(!i||!l||!z){console.error("BIMFace viewer is not ready.");return}const T=z.getElementsByTagName("canvas")[0],w=document.createElement("canvas");w.width=T.width,w.height=T.height;const S=w.getContext("2d");return S&&(S.fillStyle="#fff",S.fillRect(0,0,w.width,w.height),S.drawImage(T,0,0,T.width,T.height)),w.toDataURL(I,b)},E=I=>{if(!i){console.error("viewer is not ready");return}if(d&&g.length+1===d||!g.length)i.getAllModels().map(w=>i._models[w.modelId]).forEach(w=>{let S=new window.Glodon.Web.Graphics.Color(I);w.overrideAllComponentsColor&&w.overrideAllComponentsColor(S)}),i.enableWireframe(!0),i.getLightManager().getAllFillLights().forEach(w=>w.enableLight(!0)),i.render();else{console.error("viewer is not render complete");return}},C=I=>{if(i)if(d&&g.length+1===d||!g.length)i.getAllModels().map(w=>i._models[w.modelId]).forEach(w=>{Object.keys(I).forEach(S=>{let H=[{categoryId:S}];w.getComponentsByConditions(H,function(ee){let L=new window.Glodon.Web.Graphics.Color(I[S]);w.overrideComponentsColorById&&w.overrideComponentsColorById(ee,L)},function(){window.alert("error")})})}),i.enableWireframe(!1),i.getLightManager().getAllFillLights().forEach(w=>w.enableLight(!1)),i.render();else{console.error("viewer is not render complete");return}};function P(I,b,T){const w=i.getModel();w==null||w.getBoundingBox(({currentBoundingBox:S})=>{const H=S.max.x-S.min.x,ee=S.max.y-S.min.y,L=H/ee;let Y,k;L>1?(Y=b.width,k=Y/L):(k=b.height,Y=k*L);const W=document.createElement("div");W.setAttribute("style",`width: ${Y}px;height: ${k}px`),document.body.appendChild(W);const V=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;V.domElement=W;const ye=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(V),je=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;je.viewer=i,je.mapViewer=ye,je.type="SetProfile",je.height=I,je.successCallback=se=>{setTimeout(()=>{const G=new Image;G.src=W.getElementsByTagName("image")[0].getAttribute("href")||"",G.onload=()=>{T(G)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(je)})}return{BimfaceViewer:n&&window.Glodon.Bimface.Viewer,BimfaceSection:n&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:n&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:n&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:i,viewerAdded:l,sDKLoaded:n,loadedModelCount:d,loadModels:I=>{if(I!=null&&I.length||console.error("viewTokens is Empty"),!i&&z){const b=I[0];A(b)}y(I)},setContainerDom:N,getSnapshot:f,setComponentsColorByCatgryId:C,setAllComponentsColor:E,navigationMapByHeight:P}}function EM(t){const{url:n,onScaleChange:M,onLoad:s}=t,r=o.useRef(null),i=kt.useSize(r),a=i==null?void 0:i.width,l=i==null?void 0:i.height,[c,z]=o.useState();return o.useEffect(()=>{a&&l&&c&&M(a/c.width,a,l)},[a,l,c]),e.jsx("img",{ref:r,src:n,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(r.current){s&&s(r.current);const{naturalWidth:N,naturalHeight:g}=r.current;z({width:N,height:g})}}})}function St(t){const{start:n,end:M}=t,{options:{lineColor:s,lineWidth:r}}=o.useContext(Pe);return e.jsx(e.Fragment,{children:e.jsx("line",{x1:n.x,y1:n.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:r!=null?r:2})})}function pt(t){const{markRenderer:n,marker:M}=t,{point:{x:s,y:r}}=M;return e.jsxs("g",{children:[e.jsx("line",{}),e.jsx("line",{}),e.jsx("circle",{cx:s,cy:r,r:1,fill:"transparent"}),e.jsx("foreignObject",{x:s,y:r,width:0,height:0,fill:"green",className:"relative overflow-visible",children:e.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:n&&n(M)})})]})}function Ot(t){const{points:n,editing:M,options:s,onClose:r}=t,[i,a]=o.useState(!1),{options:{polygon:l}}=o.useContext(Pe);if(!M&&_e(n)<=2)return null;const c=In(n),z=n.map(({x:A,y:f})=>`${A},${f}`).join(" "),N=c?`${z} ${c.x},${c.y}`:z,{showVertexIndex:g,vertexBgColor:y,vertexTextColor:d}=l!=null?l:{},j=g?10:5,x=M||g,{hideBorder:D,backgroundColor:h}=s!=null?s:{};return e.jsxs(e.Fragment,{children:[e.jsx("polygon",{points:`${N}`,fill:h!=null?h:"rgba(255, 66, 66, 0.15)"}),!D&&e.jsx("polyline",{points:M?z:N,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!D&&(n==null?void 0:n.map(({x:A,y:f},E)=>{const C=E===_e(n)-1;return e.jsx("g",{style:{zIndex:C?1:100,cursor:"pointer",pointerEvents:C?"none":"bounding-box"},onMouseEnter:P=>{C||a(!0)},onMouseLeave:P=>{a(!1)},onClick:P=>{P.stopPropagation()},onDoubleClick:P=>{P.stopPropagation(),r&&r(E)},children:x&&(!C||!i)&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:A,cy:f,r:j,fill:y!=null?y:"#FF5500"}),g&&e.jsx("text",{x:A,y:f,"text-anchor":"middle",fill:d!=null?d:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:E+1})]})})}))]})}const CM=He.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:ge.assign(t=>{t.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[ge.assign((t,{point:n})=>{t.markerPoint=n}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:ge.assign((t,n)=>{t.lineStart=n.point})},ADD_LINE_END:{target:"drawCompleted",actions:[ge.assign((t,n)=>{t.lineEnd=n.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:ge.assign(t=>{t.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{var M;t.polygonPoints=(M=t.polygonPoints)!=null?M:[],t.polygonPoints.push(n)})},MOUSE_MOVE:{target:"drawingPolygon",actions:ge.assign((t,{point:n})=>{t.movingPoint=n})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function SM(t){const{state:n,scale:M,width:s,height:r,drawOptions:i,lines:a,polygons:l,markers:c,markRenderer:z,onAddLine:N,onAddPolygon:g,onAddMarker:y,onStateChange:d}=t,[j,x]=o.useState([]),[D,h]=o.useState([]),[A,f]=o.useState([]),E=o.useRef(null),{width:C,height:P}=kt.useSize(E)||{};function I({x:Y,y:k}){return{x:Y/M,y:k/M}}function b({x:Y,y:k}){return{x:Y*M,y:k*M}}const[T,w]=Dn.useMachine(CM,{actions:{onAddMarker:He.assign(({markerPoint:Y})=>(y&&Y&&y(I(Y)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:He.assign(Y=>(Y.lineStart&&Y.lineEnd&&N&&N(I(Y.lineStart),I(Y.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:He.assign(({polygonPoints:Y})=>(g&&Y&&Y.length>2&&g(Y.map(I)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var Y;x((Y=a==null?void 0:a.map(({id:k,start:W,end:V})=>({id:k,start:b(W),end:b(V)})))!=null?Y:[])},[a]),o.useEffect(()=>{var Y;f((Y=c==null?void 0:c.map(k=>Me(p({},k),{point:b(k.point)})))!=null?Y:[])},[c]),o.useEffect(()=>{var Y;h((Y=l==null?void 0:l.map(({id:k,points:W,options:V})=>({id:k,points:W.map(b),options:V})))!=null?Y:[])},[l,M]),o.useEffect(()=>{d&&T.matches("idle")&&d("viewOnly")},[T.value]),o.useEffect(()=>{if(d)switch(n){case"drawingLine":w("START_DRAW_LINE");break;case"drawingPolygon":w("START_DRAW_POLYGON");break;case"addingMarker":w("START_ADD_MARKER");break}},[n]);const{lineStart:S,lineEnd:H,polygonPoints:ee,movingPoint:L}=T.context;return e.jsx(Pe.Provider,{value:{options:i!=null?i:{}},children:e.jsx("div",{ref:E,className:"w-full h-full absolute left-0 top-0",style:{cursor:n==="viewOnly"?void 0:"crosshair",width:s,height:r},children:C&&P&&e.jsxs("svg",{viewBox:`0 0 ${C} ${P}`,version:"1.1",className:"absolute inset-0",onClick:Y=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),V={x:Y.clientX-W,y:Y.clientY-k};T.matches("drawingLine")?w(S===void 0?{type:"ADD_LINE_START",point:V}:{type:"ADD_LINE_END",point:V}):T.matches("drawingPolygon")?w({type:"ADD_POLYGON_POINT",point:V}):T.matches("addingMarker")&&w({type:"ADD_MARKER",point:V})},onMouseMove:Y=>{if(!E.current)return;const{top:k,left:W}=E.current.getBoundingClientRect(),V={x:Y.clientX-W,y:Y.clientY-k};w({type:"MOUSE_MOVE",point:V})},children:[j==null?void 0:j.map((Y,k)=>e.jsx(St,p({},Y),k)),S&&L&&e.jsx(St,{start:S,end:L}),D==null?void 0:D.map(({points:Y,options:k},W)=>e.jsx(Ot,{editing:!1,points:Y,options:k},W)),_e(ee)>0&&L&&e.jsx(Ot,{editing:!0,points:[...ee,L],onClose:Y=>{w({type:"DRAW_POLYGON_COMPLETE"})}}),A==null?void 0:A.map(Y=>e.jsx(pt,{marker:Y,markRenderer:z})),T.matches("addingMarker")&&L&&e.jsx(pt,{marker:{id:"addingMarker",point:L}})]})})})}function Xe(t,n,M){if(M)return Math.abs(Xe(t,M)-Xe(n,M));for(var s=Math.atan2(n.y-t.y,n.x-t.x);s<0;)s+=2*Math.PI;return s}const Pe=o.createContext({options:{}});Pe.displayName="DrawableContext";function pM(t){const i=t,{url:n}=i,M=we(i,["url"]),[s,r]=yn.useImmer({scale:1,width:0,height:0});return n?e.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[e.jsx(EM,{url:n,onScaleChange:(a,l,c)=>{r(z=>{z.scale=a,z.width=l,z.height=c})}}),e.jsx(SM,p(p({},M),s))]}):null}exports.Button=xn;exports.Copy=Ut;exports.DocumentViewer=Zt;exports.DrawableContext=Pe;exports.DrawableImageMap=pM;exports.ExpandablePannel=cM;exports.IconButton=ze;exports.Iconfont=q;exports.ImageMap=uM;exports.Markdown=Pt;exports.MarkdownATag=Bt;exports.MarkdownCode=Rt;exports.MarkdownImage=Qt;exports.MarkdownVideo=Ke;exports.MouseTip=fM;exports.PanoramaRecordPlayer=gM;exports.PassMap=Vt;exports.TrackMap=Ht;exports.Zoom=$t;exports.calAngle=Xe;exports.useBimface=hM;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ interface DownloadButtonProps {
3
+ url: string;
4
+ fileName?: string;
5
+ }
6
+ export declare const DownloadButton: React.FC<DownloadButtonProps>;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ interface ErrorAlertProps {
3
+ message: string;
4
+ description?: string;
5
+ action?: ReactNode;
6
+ url?: string;
7
+ fileName?: string;
8
+ }
9
+ export declare const ErrorAlert: React.FC<ErrorAlertProps>;
10
+ export {};
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ interface FileContent {
3
+ content: string;
4
+ error?: string;
5
+ }
6
+ interface BaseRendererProps {
7
+ fileContent: FileContent | null;
8
+ fileSize: number;
9
+ url: string;
10
+ fileName?: string;
11
+ }
12
+ export declare const TextRenderer: React.FC<BaseRendererProps>;
13
+ export declare const JsonRenderer: React.FC<BaseRendererProps>;
14
+ export declare const CsvRenderer: React.FC<BaseRendererProps>;
15
+ export declare const TsvRenderer: React.FC<BaseRendererProps>;
16
+ export declare const JsonlRenderer: React.FC<BaseRendererProps>;
17
+ export declare const MarkdownRenderer: React.FC<BaseRendererProps>;
18
+ export declare const HtmlRenderer: React.FC<BaseRendererProps>;
19
+ export declare const XmlRenderer: React.FC<BaseRendererProps>;
20
+ export declare const CodeRenderer: React.FC<BaseRendererProps & {
21
+ url: string;
22
+ }>;
23
+ export {};
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ interface MediaRendererProps {
3
+ url: string;
4
+ fileName?: string;
5
+ }
6
+ export declare const ImageRenderer: React.FC<MediaRendererProps>;
7
+ export declare const VideoRenderer: React.FC<MediaRendererProps>;
8
+ export declare const AudioRenderer: React.FC<MediaRendererProps>;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ interface PdfRendererProps {
3
+ pdfBlobUrl: string | null;
4
+ pdfLoading: boolean;
5
+ pdfError: string | null;
6
+ url: string;
7
+ fileName?: string;
8
+ }
9
+ export declare const PdfRenderer: React.FC<PdfRendererProps>;
10
+ export {};
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ interface ZipFile {
3
+ name: string;
4
+ size: number;
5
+ isDirectory: boolean;
6
+ }
7
+ interface ZipFileContent {
8
+ name: string;
9
+ blobUrl: string;
10
+ type: string;
11
+ }
12
+ interface ZipRendererProps {
13
+ zipFiles: ZipFile[];
14
+ zipLoading: boolean;
15
+ zipError: string | null;
16
+ selectedZipFile: string | null;
17
+ zipFileContent: ZipFileContent | null;
18
+ onFileClick: (fileName: string) => Promise<void>;
19
+ url: string;
20
+ }
21
+ export declare const ZipRenderer: React.FC<ZipRendererProps>;
22
+ export {};